0

我想在页面加载时执行动画,但只有当 css 属性具有某个值时。如果没有 if 语句,动画效果很好。这是我的代码:

$(document).ready(function() {

    if($("h1").css('font-size') == '36px'){

        $("h1").animate({
          "font-size" : "20px"
        }, 750);

    }

});
4

4 回答 4

5

我认为您正在尝试为h1具有 font-size : 36px 的元素设置动画。然后你需要在做动画之前过滤这些元素,如下所示:

$(document).ready(function () {
    $("h1").filter(function () {
        return ($(this).css('font-size') == "36px");
    }).animate({
        "font-size": "20px"
    }, 750);
});
于 2013-09-24T17:12:14.210 回答
1
if( $('h1').eq(0).css('<property>') ) {
 ...
}
于 2013-09-24T17:06:52.403 回答
1

相等字体大小时从代码中删除“px”:

if($("h1").css('font-size') == '36'){

        $("h1").animate({
          "font-size" : "20px"
        }, 750);
于 2013-09-24T17:20:09.247 回答
1

从 OP 的评论来看,样式表中的一条杂散规则似乎导致字体大小设置为超出预期的值。

确定这一点的方法可以通过浏览器的 DOM 检查器轻松完成。通常,您可以右键单击一个元素,点击检查(或类似的东西)并查看设置值的位置。

以下是一些更具体的使用方法:

铬 - https://developers.google.com/chrome-developer-tools/docs/elements

火狐 - https://developer.mozilla.org/en-US/docs/DOM_Inspector/Introduction_to_DOM_Inspector

Internet Explorer - http://msdn.microsoft.com/library/gg589507(VS.85).aspx

于 2013-09-24T17:39:07.957 回答