在asp.net中每10分钟打开一次弹出窗口?

时间:2014-09-23 06:31:58

标签: jquery asp.net

我试图在每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>

请帮助:(

4 个答案:

答案 0 :(得分:5)

您需要结合使用setIntervalsetTimeout

此外,您需要在按钮的单击处理程序之外初始化对话框。

$(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)

像这样使用setTimeoutfiddle 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

希望这有效。