首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回调到.delay()

回调到.delay()
EN

Stack Overflow用户
提问于 2011-10-27 11:20:45
回答 3查看 24.9K关注 0票数 24

我有一个$image,它是.fadeIn.fadeOut,然后是.fadeOut完成后的.remove。这是我的密码:

代码语言:javascript
复制
$image
   .fadeIn()
   .fadeOut(function() {
      $(this).remove();
   });

我想在.fadeOut之后添加一个.fadeOut,并且只在.delay完成之后才添加.remove $image。我试过:

代码语言:javascript
复制
$image
   .fadeIn()
   .fadeOut()
   .delay(1000, function() {
      $(this).remove();
   });

问题是.delay不接受回调函数。我如何才能.remove图片作为对.delay的回调

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-27 11:24:45

您可以使用队列()方法来安排您自己的函数在delay()完成后运行:

代码语言:javascript
复制
$image.fadeIn()
      .fadeOut()
      .delay(1000)
      .queue(function(next) {
          $(this).remove();
          next();
      });
票数 53
EN

Stack Overflow用户

发布于 2011-10-27 11:23:44

你总是可以这样做的:

代码语言:javascript
复制
$image
    .fadeIn()
    .fadeOut(function() {
        var self = this; // Not sure if setTimeout
                         // saves the pointer to this
        setTimeout(function() {
            $(self).remove();
        }, 1000)
    });
票数 5
EN

Stack Overflow用户

发布于 2011-10-27 11:22:39

据我所知,您可以在延迟呼叫之后将电话系紧,如下所示:

代码语言:javascript
复制
$image
   .fadeIn()
   .fadeOut()
   .delay(1000)
   .remove()
});

如下面文献资料中的示例所示

代码语言:javascript
复制
$('#foo').slideUp(300).delay(800).fadeIn(400);

排着队的物品执行的气质也说明在那里:

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

如果默认的fx队列有问题,可能需要指定一个队列,请阅读文档以获得有关延迟哪个队列的进一步信息。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7915140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档