退出弹出框+ setInterval

时间:2015-06-24 18:46:01

标签: javascript jquery popup setinterval clearinterval

我尝试创建类似“退出弹出窗口”的内容,但仅限于驻留在我的页面上的用户不到10秒钟。我想用setInterval:

var counter = 0;

var myInterval = setInterval(function () {
    // count
    console.log(counter);

    // Clear if more than 10 seconds
    if ( 10 < counter ) {
        console.log('Stop setInterval');
        clearInterval(myInterval);
    }

    ++counter;
}, 1000);

if ( 10 > counter ) {
    // Simplified exit popup function
    $(window).mouseleave(function() {
        console.log('Popup');
        clearInterval(myInterval);
    });

}

代码的第一部分有效,但即使计数器大于10,第二部分也会执行。为什么这不能正常工作?

1 个答案:

答案 0 :(得分:0)

不需要柜台。只需bind页面加载时的事件,unbind在X秒后使用setTimeout

$(window).bind('mouseleave', exitPopup);

setTimeout(function(){
    $(window).unbind('mouseleave', exitPopup);
},10000);

function exitPopup(){
    alert('Exit popup');
}

JS Fiddle Demo (3 seconds)

对于此演示,请确保将光标放在开头右下方的窗口中,并等待3秒钟。之后不应该出现。如果你不等,它会显示弹出窗口。