Javascript Jquery动画不遵守延迟()
我有一组Javascript Jquery动画不遵守延迟(),javascript,jquery,css,Javascript,Jquery,Css,我有一组,其中有几个元素。 当我点击任何一个时,我想让它们一个接一个地滑出视图 HTML是: <li> <article class="classname"> <article class="classname"> </li> <li>..</li> <li>..</li> <li>..</li> 问题是,当我单击任何一个文章元素时,所有元素都会立即从视图中滑出。不是
,其中有几个
元素。
当我点击任何一个
时,我想让它们一个接一个地滑出视图
HTML是:
<li>
<article class="classname">
<article class="classname">
</li>
<li>..</li>
<li>..</li>
<li>..</li>
问题是,当我单击任何一个文章元素时,所有元素都会立即从视图中滑出。不是我想要的那样一个接一个。可能是什么问题?延迟函数延迟队列中后续项目的执行:您需要在动画调用之前延迟交错的持续时间:
$(item).children().delay(index * 2000).animate({ "left" : "-1000px" });
delay函数延迟队列中后续项目的执行:您需要在动画调用之前以交错的持续时间进行延迟:
$(item).children().delay(index * 2000).animate({ "left" : "-1000px" });
delay()
向队列追加延迟。您需要将延迟放在动画之前,而不是之后。
delay()
将延迟附加到队列。您需要将延迟放在动画之前,而不是之后。您应该在.animate()之前调用.delay():
您应该在.animate()之前调用.delay():
要逐个设置项目的动画,您需要为每篇文章设置不同的
delay
:
$(item).children().delay(index * 2000).animate({ "left" : "-1000px" });
更新
也许你正在寻找这样的东西:
$(".classname").click(function(){
$(".classname").each(function(index, item){
$(this).delay(index * 100).animate({ "left" : "-1000px", opacity: "0" }, 500)
})
})
要逐个设置项目动画,您需要为每篇文章设置不同的
delay
:
$(item).children().delay(index * 2000).animate({ "left" : "-1000px" });
更新
也许你正在寻找这样的东西:
$(".classname").click(function(){
$(".classname").each(function(index, item){
$(this).delay(index * 100).animate({ "left" : "-1000px", opacity: "0" }, 500)
})
})
首先调用.delay()
,然后调用animate函数:
$(item).children().delay(2000).animate({ "left" : "-1000px" });
一个非常简单的示例:首先调用.delay()
,然后调用animate函数:
$(item).children().delay(2000).animate({ "left" : "-1000px" });
一个非常简单的例子:这是一个非常简单的解决方案,我写了一些更复杂的东西。这是不正确的。这是一个非常简单的解决方案,我写了一些更复杂的东西。这是不正确的。它与问题中的代码有相同的错误。此位置的延迟实际上会“暂停”循环?我不知道有什么jquery方法可以暂停,这非常有用。感谢you@JohnnyCraig:它不会暂停任何内容。它异步延迟执行。请注意,rich.okelly包含了
index*2000
。这意味着每个延迟将比前一个延迟长2000ms0*2000
,1*2000
,2*2000
等。此位置的延迟实际上会“暂停”循环?我不知道有什么jquery方法可以暂停,这非常有用。感谢you@JohnnyCraig:它不会暂停任何内容。它异步延迟执行。请注意,rich.okelly包含了index*2000
。这意味着每个延迟将比前一个延迟长2000ms<代码>0*2000,1*2000
,2*2000
,等等。