2013-03-01 47 views
1

长时间阅读器,第一次发布! =)jQuery不会添加CSS,只有在HTML已经定义时才会更改CSS

我遇到了jQuery问题。我试图给每个li添加一个样式,但是,除非li已经具有内联的特定样式,否则jQuery将看起来什么都不做。这是一个很好的解决方法,但却破坏了我的代码的目标。

下面是我在codepen上遇到的问题的示例。我分叉另一个人的代码,试图让jQuery添加动画延迟,而不是在HTML中进行硬编码。我相信效果和风格只适用于Chrome。

http://codepen.io/LetsBeNew/pen/qIuah

正如你可以看到我有内联样式的前几个li元素。 jQuery正确地更改了这些内容,但不会将样式添加到其他li元素。

任何想法?

回答

0

我认为问题是,LI s表示唐在执行$(document).ready()函数之前,没有内联样式可以完成动画制作(或至少启动动画制作)。比较这等codepen的thingie:

http://codepen.io/anon/pen/padfb

所有LI小号得到了边框的宽度和增加的动画延迟到10秒。除了coral类的延迟非常小(在这种情况下为零)之外。在您的情况下,每个LI没有内联样式值的延迟得到默认为零,这导致它在文档就绪函数有机会更改值之前开始动画。

在上面链接的codepen中,我将其放在数字中,以便查看效果。它们是HTML源(珊瑚LI)中的play1,以及CSS源中的play2(LI规则属性的最后一个)。

+0

啊!我认为你是对的,关于jQuery可以改变它之前的动画完成。谢谢!!! – user2122059 2013-03-02 00:38:44

相关问题