javascript - 即使调用成功,我的 jquery 动画功能也无法工作

标签 javascript jquery html jquery-animate

有使用 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/

相关文章:

javascript - 如果没有输入 URL 则隐藏按钮

javascript - 在 asp.net mvc 或 jquery 中刷新时保留类更改

html - position fixed 将其下方的所有内容向下推以创建空白?

javascript - 如何附加此文本而不是替换它?

javascript - 仅包含必填字段的 ngdisabled 通用解决方案

JavaScript(jQuery)事件触发ctrl+右箭头按钮

javascript - 如何在当前页面显示来自不同页面的按钮元素内的文本?

javascript - 我想使用 jQuery 同时从我的待办事项列表和对象数组中删除一个项目

javascript - 为什么 Angular 使用 `import { SomeComponent } from ' some.component.ts '` instead of ` import SomeComponent from 'some.component.ts' `

html - 左边是图标,右边是文本 HTML/CSS