延迟后出现jQuery弹出关闭按钮

时间:2014-12-23 13:25:42

标签: javascript jquery popup

我在弹出窗口中使用jQuery,它有一个关闭按钮。我希望在30-60秒之后使用单词"wait 60 seconds to close this window"显示关闭按钮。这是现在的代码:

var shadow = $('<div id="shadowElem"></div>');
var speed = 1000;
$(document).ready(function() {
    $('body').prepend(shadow);
});
$(window).load( function() {
    screenHeight = $(window).height();
    screenWidth = $(window).width();
    elemWidth = $('#dropElem').outerWidth(true);
    elemHeight = $('#dropElem').outerHeight(true)

    leftPosition = (screenWidth / 2) - (elemWidth / 2);
    topPosition = (screenHeight / 2) - (elemHeight / 2);

    $('#dropElem').css({
        'left' : leftPosition + 'px',
        'top' : -elemHeight + 'px'
    });
    $('#dropElem').show().animate({
        'top' : topPosition
    }, speed);

    shadow.animate({
        'opacity' : 0.7
    }, speed);

    $('#dropClose').click( function() {
        shadow.animate({
            'opacity' : 0
        }, speed);
        $('#dropElem').animate({
        'top' : -elemHeight + 'px'
    }, speed, function() {
            shadow.remove();
            $(this).remove();
        });

    });
});

2 个答案:

答案 0 :(得分:0)

尝试(我假设dropClose是关闭按钮的ID)...

<强> CSS

#dropClose {
  display: none;
}

在“打开弹出式代码”

setTimeout(function() {
  $("#dropClose").show();
}, 30 * 1000);

答案 1 :(得分:0)

DEMO希望这个帮助..用您想要的ID或类改变ID

你需要在秒= 0后使用setInterval()和clearInterval()并将按钮文本更改为关闭

$(document).ready(function(){    
    var setIt = true;
    var interval = setInterval(function(){
        if(setIt == true){
            $('#count span').text($('#count span').text() - 1);
            if($('#count span').text() == '0'){
                $('#count').text('Close This Window');
                clearInterval(interval);
                setIt = false;
            }
        }
    },1000);
});