使用jquery如何使用fadein、delay和fadeout问题

使用jquery如何使用fadein、delay和fadeout问题,jquery,css,dhtml,Jquery,Css,Dhtml,我需要制作一些fadeIn,然后在那里停留一秒钟,然后使用JQuery淡出 我试过了,但不知什么原因它不起作用 $('#' + uMessage).fadeIn("fast").fadeOut("slow"); // works $('#' + uMessage).fadeIn("fast").delay(1000).fadeOut("slow"); // fails 有什么建议我哪里出了问题吗 非常感谢 您的第二种方法实际上应该很好,对应于文档() 另一种方法可能是使用回调函数,该函数在

我需要制作一些fadeIn,然后在那里停留一秒钟,然后使用JQuery淡出

我试过了,但不知什么原因它不起作用

$('#' + uMessage).fadeIn("fast").fadeOut("slow");  // works
$('#' + uMessage).fadeIn("fast").delay(1000).fadeOut("slow");  // fails
有什么建议我哪里出了问题吗


非常感谢

您的第二种方法实际上应该很好,对应于文档()

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

$('#' + uMessage).fadeIn("fast", function() { $(this).delay(1000).fadeOut("slow"); });
只是猜测

编辑:

如果无法使用delay()方法,则可以尝试以下方法:

$('#' + uMessage).fadeIn("fast", function() { 
  c_obj = $(this);
  window.setTimeout(function() { $(c_obj).fadeOut("slow"); }, 1000); 
});

下面是一个示例:

可以尝试使用API for函数中指定的回调。一旦淡入完成,将调用该命令

$('#' + uMessage).fadeIn("fast", function() {
  $(this).delay(1000).fadeOut("slow");
});

我认为问题在于您使用的jQuery版本:


这个很好用。切换到1.3.2,它就坏了。

您使用的是jQuery 1.4+?jQuery 1.4中添加了delay()函数


淡入淡出延迟不起作用。使用延迟后队列和回调的组合有时适用于其他情况

这最终对我起了作用:

$('#message').fadeIn(function() {
  window.setTimeout(function() {
    $('#message').fadeOut('slow');
  }, 2000);
});

jQuery官方文档说,第二个参数不是回调,而是宽松的风格


因此,只要将回调移动到第三个参数,一切都会正常。

在哪里失败?它有任何作用吗?啊,对不起,当我添加延迟时,它不会消失。您是在调用
.stop()
还是以其他方式清除队列?
。延迟
仅适用于jQuery 1.4+。可能是这样吗?当你解决了它时,请接受正确的答案。对我来说很有用:$('#message').fadeIn(function(){window.setTimeout(function(){$('#message').fadeOut('slow');},2000);});在jquery 1.3.2中尝试了这一点-函数不启动。然后向jquery报告,因为它必须根据文档启动。我打赌你对选择器或其他地方有意见。
$('#el').fadeOut(750,'swing',function(){
    $('#el').fadeIn();
});