我每30秒钟刷新一次div,刷新的div内有一个引导程序模式框。如果该模式被单击并打开,则当div刷新时,模式将消失,整个页面不可点击。我正在尝试找到解决方案。
我希望在模式框打开时防止div刷新。有任何想法吗? 谢谢
<div class="modal fade" id="alertModal" tabindex="-1" role="dialog" aria-labelledby="alertModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header bg-info text-white">
<h5 class="modal-title" id="alertModalLabel">Modal Title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div>
<div class="modal-body">
some content
</div>
</div>
</div>
</div>
$(document).ready(function() {
setInterval(function() {
$('#mainc').fadeOut('slow').load('index.php #mainc').fadeIn('slow');
}, 30000);
});
答案 0 :(得分:0)
这是解决此问题的有效方法:
function setLoad() {$('#mainc').fadeOut('slow').load('index.php #mainc').fadeIn('slow');}
setInterval(setLoad,'10000');
$(document).on('hidden.bs.modal','.modal',function(){setInterval(setLoad,'10000');});
$(document).on('shown.bs.modal','.modal',function(){for(var i=1;i<10000;i++){clearInterval(i);}});
由于hidden.bs.modal使用随机ID运行setInterval(),因此在不知道ID的情况下无法使用clearInterval()。 另外,请确保将js代码放在“ .modal” div上方,这样效果更好。