jquery延迟代码的执行

use*_*300 11 javascript jquery date

在我的jquery函数中,我有一个加载器gif图像.在我显示它之后,我想延迟一秒钟,然后继续执行其余的代码.我怎样才能做到这一点?

    $('#loader').css('display', '');

    //// I want to put here a delay. 

    var myDate = new Date();
    myDate.setFullYear(2013,8,2);

    var checkyear = myDate.getFullYear();
    var monthly =myDate.getMonth();
    var daily =myDate.getDate();

    $('#day').html(daily) ;
    $('#month').html(months[monthly]) ;
    $('#year').html(checkyear) ;
Run Code Online (Sandbox Code Playgroud)

Pau*_*Rad 27

设置这样的超时:

var delay = 1000;
setTimeout(function() {
 // your code
}, delay);
Run Code Online (Sandbox Code Playgroud)

示例 http://jsfiddle.net/HuLTs/


GG.*_*GG. 6

你试过.delay吗?

$('#loader').show(1).delay(1000).hide(1);
Run Code Online (Sandbox Code Playgroud)

.delay()方法最适合延迟排队的jQuery效果.因为它是有限的 - 例如,它没有提供取消延迟的方法 - .delay()不能替代JavaScript的本机 setTimeout函数,这可能更适合某些用例.

演示:http://jsfiddle.net/SBrWa/

  • `$('#loader').show().延迟(1000).hide(0);`就够了;)+1表示替代.就像内部一样,关于延迟()的DOC似乎不再准确.看起来像一个延迟()可以使用jq 1.9方法取消.finish() (2认同)

cod*_*der 5

$(document).ready(function(){ 
    setTimeout(function(){ 
      //your code
     },
  2000); 
});
Run Code Online (Sandbox Code Playgroud)

这里2000指的是 2 seconds