我试图在每10分钟的时间间隔打开弹出窗口并在15秒内自动关闭。
以下代码用于弹出窗口,该窗口打开到点击事件但我想自动打开10分钟的时间间隔。
<script type="text/javascript">
$("[id*=btnPopup]").live("click", function () {
$("#dialog").dialog({
title: "jQuery Dialog Popup",
buttons: {
Close: function () {
$(this).dialog('close');
}
}
});
return false;
});
</script>
<div id="dialog" style="display: none">
This is a simple popup
</div>
请帮助:(
答案 0 :(得分:5)
您需要结合使用setInterval
和setTimeout
。
此外,您需要在按钮的单击处理程序之外初始化对话框。
码
$(document).ready(function() {
//Initialize dialog
$("#dialog").dialog({
title: "jQuery Dialog Popup",
autoOpen: false,
buttons: {
Close: function() {
$(this).dialog('close');
}
}
});
//bind click handler
$("[id*=btnPopup]").live("click", function() {
$('#dialog').dialog('open');
return false;
});
//Open dialog
setInterval(function() {
$('#dialog').dialog('open');
//Close after 15 seconds
setTimeout(function() {
$('#dialog').dialog('close');
}, 15000);
}, 600000);
});
答案 1 :(得分:3)
通过jquery与setInterval打开对话,关闭使用setTimeout:
setInterval(function(){
$('#dialog').dialog('open');
setTimeout(function(){
$('#dialog').dialog('close');
},15000)
},600000);
<强> Working Demo 强>
答案 2 :(得分:0)
像这样使用setTimeout
:fiddle here!
10分钟后10 * 60 * 1000 = 600000 (10分钟* 60秒/分钟* 1000毫秒/秒。 15分钟后(15 * 60 * 1000 = 900000 之后) HTML
<div id="dialog">Your non-modal dialog</div>
<a href="#" id="open">Open dialog</a>
JS
$('#open').click(function() {
$('#dialog').dialog('open');
});
jQuery("#dialog").dialog({
autoOpen: false,
modal: true,
open: function(){
jQuery('.ui-widget-overlay').bind('click',function(){
jQuery('#dialog').dialog('close');
})
}
});
setTimeout(function() {
$('#dialog').dialog('open');
}, 600000);
setTimeout(function() {
$('#dialog').dialog('close');
}, 900000);
答案 3 :(得分:0)
以下代码必须解决您的问题。它对我来说很好。
$("#[Your Div Id]").dialog({
width: 400
});
setInterval(function(){
$('#[Your Div Id]').dialog('open');
setTimeout(function(){
$('#[Your Div Id]').dialog('close');
},15000) // 15 Seconds
},600000); // 10 mins
希望这有效。