这是我的代码片段:
<ul>
<li><a href="home">Home</a></li>
<li><a href="links">Links</a></li>
<li><a href="contact">Contact</a></li>
</ul>
我使用CSS将它们水平排列(类似菜单),我想要做的是为
- 元素的所有列表项添加动画。当DOM准备就绪时,我会将它们移到顶部,并在整个页面加载完成后将它们动画到底部,以吸引用户的注意力。
以下是jQuery代码:
$(function(){
$("ul li").css('top', '-40px'); //items are in relative position
$(window).bind("load", items_animate, false);
});
function items_animate(){
... //I'd like to animate each <li> of the <ul> changing 'top' to '0px' but not simultaneously, I want to declare a DELAY between each animation (<li>'s get down in a row)
}
我知道如何使用queue()或按顺序调用函数来对一个元素进行效果排序,但在这种情况下,我不知道该怎么做。
编辑:对于那些感兴趣的人,这是实现此序列的代码,感谢Joseph。
var animationDelay = 600;
var offset = 200;
function blah(meh) {
setTimeout(function(){
$(meh).animate({
opacity: "0"
}, animationDelay);
},$(meh).index() * offset)
}
$("li").each(function(){
blah(this);
})