【问题标题】:How to remove an element after a 3 delay?如何在 3 延迟后删除元素?
【发布时间】:2021-09-29 18:46:22
【问题描述】:
$('#gallerie ul li:eq(1)').animate({opacity: 1}, 1250).remove(); //results in instand remove
$('#gallerie ul li:eq(1)').delay(3000).remove(); //instant remove
$('#gallerie ul li:eq(1)').remove().delay(3000); //that didnt work either

如何在 3 秒后移除对象而不是立即移除?

【问题讨论】:

    标签: javascript jquery dom html-lists


    【解决方案1】:
    setTimeout(function(){
         $('#gallerie ul li:eq(1)').remove();
    },3000);
    

    【讨论】:

    • setTimeOut($('#gallerie ul li:eq(1)').remove, 3000) 不也可以吗?这是一个严肃的问题,我不知道(它适用于 Python,但 Python 不是 JS……)。
    • @delnan,它应该可以工作,但 Manny 给出的例子更容易理解和遵循。
    • @delnan,这应该没问题,因为第一个参数接受一个函数或一个字符串,但是你不能在你的情况下添加任何参数,所以我使用了一个更灵活的例子,因为到时候您需要在函数中使用参数,最好将其包装在 function() {} 声明中
    【解决方案2】:

    如果您想以.delay 的方式进行操作,则需要合并.queue

    $("#gallerie ul li:eq(1)").delay(3000).queue(function() {
        $(this).remove();
    });
    

    演示:http://jsfiddle.net/karim79/MT4Yd/

    【讨论】:

      【解决方案3】:

      delay 方法用于动画,因此只有在它之后被链接的动画方法才会被延迟。 delay 方法在动画队列上放置一个延迟,它不会延迟代码的执行。

      要在动画后移除元素,可以使用它的回调方法。示例:

      $('#gallerie ul li:eq(1)').fadeOut(3000, function() {
        $(this).remove();
      });
      

      【讨论】:

        【解决方案4】:

        The manual page 说(实际上很清楚):

        “在 jQuery 1.4 版本中添加,.delay() 方法允许我们延迟队列中跟随它的函数的执行。它可以与标准效果队列或自定义队列一起使用。只有后续事件在队列被延迟;例如,这不会延迟不使用效果队列的.show().hide() 的无参数形式。”

        remove() 不会使用效果队列。

        您可以使用 jQuery 的 fadeOut()hide() ... 或完全等同于您最初的尝试,Javascript's basic setTimeout function.

        希望对您有所帮助。

        【讨论】:

        • 没问题。很高兴你把它整理好了。
        【解决方案5】:

        你可以这样做:

        setTimeout(function(){
              $('#gallerie ul li:eq(1)').remove();
        },3000);
        

        【讨论】:

          【解决方案6】:

          这个怎么样:

          $('#gallerie ul li:eq(1)').animate({opacity: 1}, 1250,function(){
               $(this).remove();
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-08-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-16
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多