jquery延迟代码的执行

时间:2013-09-26 11:33:19

标签: 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) ;

5 个答案:

答案 0 :(得分:26)

设置这样的超时:

var delay = 1000;
setTimeout(function() {
 // your code
}, delay);

实施例 http://jsfiddle.net/HuLTs/

答案 1 :(得分:6)

您是否尝试过.delay

$('#loader').show(1).delay(1000).hide(1);
  

.delay()方法最适合在排队的jQuery之间延迟   效果。因为它是有限的 - 例如,它没有提供一种方法   取消延迟-.delay()不是JavaScript本机的替代品   setTimeout功能,可能更适合某些用途   例。

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

答案 2 :(得分:5)

$(document).ready(function(){ 
    setTimeout(function(){ 
      //your code
     },
  2000); 
});

此处 2000 指的是 2 seconds

答案 3 :(得分:0)

您可以使用此代码

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

setTimeout(function() {
    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) ;
}, 1000);

答案 4 :(得分:0)

试试这个,

$(function(){
    $('#loader').css('display', '');
    setTimeout(function(){ 
        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) ;
    },1000);// 1 second delay
});