我希望我的模态在每5秒钟后显示为弹出窗口而不触发按钮,但我无法做到。 我使用了jquery函数show和setTimeout,但它只在第一次加载页面时起作用
这是我的jquery:
<script>
$(document).ready(function(){
setTimeout(function(){
$('#myModal').modal('show');
}, 2000);
});
</script>
我的模态:
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>Some text in the modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
我想让它在每5秒后打开一次 请帮忙
答案 0 :(得分:1)
使用setInterval
和5000
,因为2000是2秒。
setInterval
是“每N毫秒重复此功能”。
setTimeout
是“在N毫秒后执行此函数”
setInterval(function () {
console.log('Modal.show()');
}, 5000);
答案 1 :(得分:1)
试试这个
setInterval(function () {
$('#myModal').modal('show');
}, 2000);
setInterval()方法将继续调用该函数,直到调用clearInterval()或窗口关闭。
答案 2 :(得分:1)
您可以尝试使用递归setTimeout
代替setInterval
,因为setTimeout
时间表可以确保当前呼叫结束时的下一个呼叫。
递归setTimeout
是比setInterval更灵活的方法。这样,下一个呼叫的安排可能会有所不同,具体取决于当前呼叫的结果:
$(document).ready(function(){
setTimeout(function showModal() {
$('#myModal').modal('show');
setTimeout(showModal, 5000);
}, 5000);
});
答案 3 :(得分:0)
尝试在setInterval中使用5000而不是2000,因为5000是5秒