Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery动画不遵守延迟()_Javascript_Jquery_Css - Fatal编程技术网

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
    。这意味着每个延迟将比前一个延迟长2000ms
    0*2000
    1*2000
    2*2000
    等。此位置的延迟实际上会“暂停”循环?我不知道有什么jquery方法可以暂停,这非常有用。感谢you@JohnnyCraig:它不会暂停任何内容。它异步延迟执行。请注意,rich.okelly包含了
    index*2000
    。这意味着每个延迟将比前一个延迟长2000ms<代码>0*2000,
    1*2000
    2*2000
    ,等等。