jQuery如何延迟slideUp?

时间:2012-02-08 16:11:19

标签: jquery delay slideup

我正在使用以下jQuery。 div框向上滑动,然后在5秒后淡出。有没有办法实现这一点,因为盒子出现需要很长时间。

$(document).ready(function() {
  $("#load_limit").slideUp(500); //have tried "fast" also
  $("#load_limit").delay(5000);
  $("#load_limit").slideDown(500);
});

4 个答案:

答案 0 :(得分:10)

您可以延迟回调功能:

$(document).ready(function() {
  $("#load_limit").slideUp(500, function() {
     $("#load_limit").delay(5000).slideDown(500);
  }); 
});

或者你可以简化它:

$(document).ready(function() {
  $("#load_limit").slideUp(500)
                  .delay(5000)
                  .slideDown(500);
});

代码:http://jsfiddle.net/xjEy5/2/

答案 1 :(得分:1)

找到div,等待n秒,然后花费n毫秒的过渡时间向上滑动。

$("#div").delay(5000).slideUp(1000);

答案 2 :(得分:0)

您上面的代码到底出了什么问题?它看起来很实用(除了你有slideDown / slideUp,没有你在说明中指出的fadeOut)

这是实现相同效果的另一种方法:

jQuery(function($) { // same as $(document).ready() but no conflicts :)

   $('#load_limit').slideDown(500, function() {
      var self = this;
      setTimeout(function() {
         $(self).fadeOut(500);
      }, 5000);
   });

});

答案 3 :(得分:0)

.slideUp()中的时间减少到您需要的任何时间。这是一个例子:

$("#load_limit").slideUp(50).delay(5000).slideDown(50);

如果您的内容高度很小,那么在50毫秒时您看不到.slideUp()效果。这就是为什么最好使用.hide()