如果没有执行任何其他点击事件,我想在10秒后显示一个弹出窗口。即我在10之后显示弹出窗口:
setTimeout( "jQuery('#rollup-page-Modal').modal('show');",10000 );
现在有一些弹出窗口会在点击后显示:
jQuery(".more-info").click(function(event){
jQuery("#more-info-modal").modal('show');
event.preventDefault();
});
jQuery(".call-now").click(function(event){
jQuery("#request-callback-modal").modal('show');
event.preventDefault();
});
jQuery(".popup-send-quote").click(function(){
jQuery("#request-callback-modal").modal('hide');
jQuery("#callback-thankyou-modal").modal('show');
});
现在我想,如果显示任何其他弹出窗口或执行任何其他点击事件,则不应显示第一个弹出窗口(将在10秒后显示)。
答案 0 :(得分:2)
您应该将id
的{{1}}存储在变量中,然后您可以使用window.clearTimeout()
清除文档中发生单击时的超时:
timeout
答案 1 :(得分:1)
首先是超时代码:
var timeout = setTimeout( function () {
jQuery('#rollup-page-Modal').modal('show');
},10000 );
现在它在var中你可以在代码的其他地方取消它:
jQuery(".more-info").click(function(event){
clearTimeout(timeout);
jQuery("#more-info-modal").modal('show');
event.preventDefault();
});
jQuery(".call-now").click(function(event){
clearTimeout(timeout);
jQuery("#request-callback-modal").modal('show');
event.preventDefault();
});
jQuery(".popup-send-quote").click(function(){
clearTimeout(timeout);
jQuery("#request-callback-modal").modal('hide');
jQuery("#callback-thankyou-modal").modal('show');
});
答案 2 :(得分:1)
添加标志
var didClick = false;
jQuery(".more-info").click(function(event){
jQuery("#more-info-modal").modal('show');
event.preventDefault();
didClick = true;
});
jQuery(".call-now").click(function(event){
jQuery("#request-callback-modal").modal('show');
event.preventDefault();
didClick = true;
});
jQuery(".popup-send-quote").click(function(){
jQuery("#request-callback-modal").modal('hide');
jQuery("#callback-thankyou-modal").modal('show');
didClick = true;
});
然后在超时之前将其设置为false
didClick = false;
setTimeout(function() {
if (!didClick) {
jQuery('#rollup-page-Modal').modal('show');
}
},10000 );