1

我知道这段代码超级蹩脚,但直到现在它运行良好,所以我保留了它。但是现在我的 <li> 太多了,我不能在 js 中手动添加它们,因为它在 wordpress 上,它取决于类别页面,所以 <li> 的数量每次都在变化。

我的问题是;如何保留该动画并使其与未定义数量的 < li > 一起工作,而无需手动添加它们?有没有办法在不使用 css overflow-y: hidden 的情况下停止滚动条滚动?!

这是演示:http: //jsfiddle.net/NdRDh/

非常感谢你!希望你能帮我!!

汤姆

4

5 回答 5

4

我建议:

$(document).ready(
    function() {
        $('li').each(
            function(i) {
                $(this)
                    .delay(400)
                    .animate(
                        {
                            'top' : '10px'
                        }, 1500 + (500*i));
            });
    });​

JS 小提琴演示

哦,请注意,您id所有元素都重复相同的li内容:这是无效的 HTML,如:

id=名称 [CS]

此属性为元素分配名称。此名称在文档中必须是唯一的。

(引自:http ://www.w3.org/TR/html401/struct/global.html#h-7.5.2 )

参考:

于 2012-07-09T21:55:03.883 回答
3
$('li').each(function(i) {
      $(this).delay(400).animate({'top': '10px'}, (500*i)+1000);
});

小提琴示例:http: //jsfiddle.net/NdRDh/6/

作为旁注,您不能有多个具有相同 id 的元素

于 2012-07-09T21:53:44.380 回答
1

您可以使用each(),如下所示:http: //jsfiddle.net/Skooljester/NdRDh/1/

于 2012-07-09T21:53:44.840 回答
1

你有 id 和 class 交换:给他们 'common' 作为类和他们的类名作为 id,然后你可以选择它们并调用 animate :

 $('li.common').animate(...);
于 2012-07-09T21:54:23.723 回答
0

试试这个:

$("li").each(function(index) {
    $(this).delay(400).animate({'top' : '10px'}), 1000 + 500 * index);
});
于 2012-07-09T21:55:35.077 回答