有使用 jquery 和 javascript 经验的人请向我解释一下为什么这段代码不起作用吗?
当触发changeclass时,图像前像应该先扩大然后缩小,但它似乎也没有这样做。唯一有效的是底部的警报。
有什么想法吗?
<script type="text/javascript">
function changeclass()
{
if ($("#previmage").css({"max-width" : "400px"}){
$("#previmage").animate({"max-width": "100%"}, "fast");
$("#previmage").addClass("clicked").removeClass("normal");
}else{
$("#previmage").animate({"max-width": "400px"}, "fast");
$("#previmage").addClass("normal").removeClass("clicked");
}
alert("called");
}
$("#progressBar").hide();
</script>
最诚挚的问候 约旦忍者
最佳答案
if ($("#previmage").css({"max-width" : "400px"})
是否设置max-width
属性并返回始终为 true 的 jQuery 包装对象。您需要使用 .css()
method作为 getter 并将结果与期望值进行比较:
if ($("#previmage").css("max-width") == 400)
但是,我建议不要将应用程序逻辑基于 css 样式。使用变量来保存状态,或者如果您需要/想要将其存储在 DOM 中,则使用类(可以使用 hasClass
进行测试)。
关于javascript - 即使调用成功,我的 jquery 动画功能也无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18291459/