繁体   English   中英

退出弹出框+ setInterval

[英]Exit popup + setInterval

我正在尝试创建类似“退出弹出窗口”的内容,但仅限于停留在我的页面上少于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事件,然后在X秒后使用setTimeout unbind bind该事件:

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

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

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

JS小提琴演示(3秒)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM