为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用jQuery等待5秒?

如何使用jQuery等待5秒?

弑天下 2019-11-22 15:01:13
我正在尝试创建一种加载页面的效果,并且在5秒钟后,屏幕上的成功消息消失或向上滑动。我该如何实现?
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超5个赞

内置javascript setTimeout。


setTimeout(

  function() 

  {

    //do something special

  }, 5000);

更新:自页面加载完成后,您要等待,因此请将代码放入$(document).ready(...);脚本中。


更新2:jquery 1.4.0引入了该.delay方法。看看吧。请注意,.delay仅适用于jQuery效果队列。


查看完整回答
反对 回复 2019-11-22
?
三国纷争

TA贡献1804条经验 获得超7个赞

使用普通的JavaScript计时器:


$(function(){

   function show_popup(){

      $("#message").slideUp();

   };

   window.setTimeout( show_popup, 5000 ); // 5 seconds

});

DOM准备就绪后,将等待5秒钟。如果要等到页面实际显示loaded,则需要使用以下命令:


$(window).load(function(){

   function show_popup(){

      $("#message").slideUp();

   };

   window.setTimeout( show_popup, 5000 ); // 5 seconds

})

编辑:在回答OP的评论询问是否有一种方法可以在jQuery中而不使用setTimeout答案是否定的。但是,如果您想使其更加“ jQueryish”,则可以将其包装为:


$.wait = function( callback, seconds){

   return window.setTimeout( callback, seconds * 1000 );

}

然后可以这样称呼它:


$.wait( function(){ $("#message").slideUp() }, 5);


查看完整回答
反对 回复 2019-11-22
?
largeQ

TA贡献2039条经验 获得超8个赞

我遇到了这个问题,我想提供有关此主题的最新信息。jQuery(v1.5 +)包含一个Deferred模型,该模型(尽管直到jQuery 3才遵守Promises / A规范) 通常被认为是解决许多异步问题的更清晰方法。$.wait()我相信使用这种方法来实现一种方法特别容易阅读:


$.wait = function(ms) {

    var defer = $.Deferred();

    setTimeout(function() { defer.resolve(); }, ms);

    return defer;

};

这是如何使用它:


$.wait(5000).then(disco);

但是,如果在暂停后仅希望对单个jQuery选择执行操作,那么您应该使用jQuery的本机.delay(),我相信它也会在后台使用Deferred的:


$(".my-element").delay(5000).fadeIn();


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 959 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号