退出弹出窗口+设置间隔

Exit popup + setInterval

本文关键字:设置 窗口 退出      更新时间:2023-09-26

我正在尝试创建类似Exit Popup的东西,但仅限于在我的页面上停留不到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,第二部分也会执行。为什么这不起作用?

不需要计数器。仅bind是页面加载时的事件,unbind是X秒后使用setTimeout:的事件

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

JS Fiddle演示(3秒)

对于这个演示,请确保在开始时将光标放在右下角的窗口中,并等待3秒钟。它不应该在那之后出现。如果您不等待,它将显示弹出窗口。