即使调用成功,我的jquery动画函数也无法工作

my jquery animation function fails to work even when the call is successful

本文关键字:函数 工作 动画 jquery 调用 成功 我的      更新时间:2023-09-26

请有经验的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>

致以最良好的问候jordanzhninja

if ($("#previmage").css({"max-width" : "400px"})

设置max-width属性并返回始终为true的jQuery包装器对象。您需要使用.css()方法作为getter,并将结果与预期值进行比较:

if ($("#previmage").css("max-width") == 400)

但是,我建议您不要将应用程序逻辑建立在css样式的基础上。使用变量保存状态,或者如果需要/希望将其存储在DOM中,则使用类(可以使用hasClass进行测试)。

最大宽度只允许特定类允许的最大宽度如果你想增加图像的大小,请使用宽度

if ($("#previmage").css({"width"}==400){
         $("#previmage").animate({width:"100%"}, "fast");
         $("#previmage").addClass("clicked").removeClass("normal");
        }
else{
             $("#previmage").animate({width: 400}, "fast");
             $("#previmage").addClass("normal").removeClass("clicked");
        }