使用setTimeout延迟弹出20秒

时间:2013-08-04 10:31:28

标签: javascript settimeout

我有这条线

  

$(document).on('ready',contentLockerShow);

当页面加载时,该行将弹出一个名为contentLockerWrapper的div,我只想延迟弹出20秒,所以我改变了

  

$(document).on('ready',contentLockerShow);

  

的setTimeout(contentLockerShow,20000);

但是在弹出窗口之前,包装器和屏幕之前的contentLockerBackground弹出窗口。

这是函数

function contentLockerShow(){
        contentLockerBackground.animate({'opacity':'.6'}, 500);
        contentLockerWrapper.fadeIn(500);    
        if(contentLockerCompleted == false){
            contentLockerCompleted = true;
            console.log(contentLockerCompleted);    
        }

1 个答案:

答案 0 :(得分:0)

我最初误解了你的问题。在jQuery中,您可以告诉动画在另一个动画完成之前不要启动。现在,你有背景和包装都花了半秒钟加载,在同一时间。试试这个:

function contentLockerShow(){
        contentLockerWrapper.fadeIn(500, function()
            contentLockerBackground.animate({'opacity':'.6'}, 500);
        );    
        if(contentLockerCompleted == false){
            contentLockerCompleted = true;
            console.log(contentLockerCompleted);    
        }

同样,如果您希望窗口等待锁定直到后台加载完毕,您可以进一步修改它,如下所示:

function contentLockerShow(){
        contentLockerWrapper.fadeIn(500, function()
            contentLockerBackground.animate({'opacity':'.6'}, 500, function() 
                 if(contentLockerCompleted == false){
                      contentLockerCompleted = true;
                      console.log(contentLockerCompleted);    
                 }
            );
        );