首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jquery如何使用fadein,延迟,然后淡出问题

使用jquery如何使用fadein,延迟,然后淡出问题
EN

Stack Overflow用户
提问于 2010-09-07 22:44:48
回答 6查看 14.4K关注 0票数 6

我需要制作一些fadeIn,然后在那里停留一秒钟,然后使用JQuery进行fadeOut。

我试过了,但由于某种原因它不起作用?

代码语言:javascript
运行
复制
$('#' + uMessage).fadeIn("fast").fadeOut("slow");  // works
$('#' + uMessage).fadeIn("fast").delay(1000).fadeOut("slow");  // fails

我哪里出了问题,有什么建议吗?

非常感谢!

EN

回答 6

Stack Overflow用户

发布于 2010-09-07 22:51:25

实际上,您的第二种方法应该很好,对应于文档(http://api.jquery.com/delay/)

另一种方法可能是使用回调函数,该函数在fadeIn完成时调用:

代码语言:javascript
运行
复制
$('#' + uMessage).fadeIn("fast", function() { $(this).delay(1000).fadeOut("slow"); });

只是个猜测

编辑:

如果您不能使用delay()方法,那么您可以尝试这个方法:

代码语言:javascript
运行
复制
$('#' + uMessage).fadeIn("fast", function() { 
  c_obj = $(this);
  window.setTimeout(function() { $(c_obj).fadeOut("slow"); }, 1000); 
});

下面是一个例子:http://jsfiddle.net/KwWFR/

票数 14
EN

Stack Overflow用户

发布于 2010-09-07 22:51:44

可以尝试使用FadeIn函数的接口中指定的回调。淡入完成后,将调用此函数。

代码语言:javascript
运行
复制
$('#' + uMessage).fadeIn("fast", function() {
  $(this).delay(1000).fadeOut("slow");
});
票数 3
EN

Stack Overflow用户

发布于 2012-11-29 19:34:55

淡入淡出的延迟是不起作用的。结合使用queue after delay和回调有时也适用于其他情况

这对我来说是有效的:

代码语言:javascript
运行
复制
$('#message').fadeIn(function() {
  window.setTimeout(function() {
    $('#message').fadeOut('slow');
  }, 2000);
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3659722

复制
相关文章

相似问题

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