13

在我的 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) ;
4

5 回答 5

33

像这样设置超时:

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

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

于 2013-09-26T11:34:47.260 回答
7

你试过.delay吗?

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

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

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

于 2013-09-26T11:35:28.830 回答
5
$(document).ready(function(){ 
    setTimeout(function(){ 
      //your code
     },
  2000); 
});

这里20002 seconds

于 2013-09-26T11:36:04.863 回答
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);
于 2013-09-26T11:37:44.813 回答
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
});
于 2013-09-26T11:37:50.730 回答