为什么这个JQuery对话框一次又一次出现?

时间:2011-05-30 13:06:32

标签: javascript jquery dialog

我使用的是Blogspot,我的代码如下:

//JQuery Code above <head> tag:
  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

  <script>
  $(document).ready(function() {

      $("#dialog").dialog({ autoOpen: false });
      $("#dialog").dialog({ modal: true });
      $("#dialog").dialog({ position: 'center' });
      $("#dialog").dialog({ resizable: false });
      $("#dialog").dialog({ draggable: false });
      $("#dialog").dialog({ width: 280 });
      //$("#dialog").dialog({ height: 530 });
      //$("#dialog").dialog({ closeText: 'hide' });
      //$("#dialog").dialog({ closeOnEscape: true });
      //$("#dialog").dialog({ hide: 'slide' });
      //$("#dialog").dialog({ show: 'slide' });
      $("#dialog").dialog({ title: 'Help!' });

      /*$("#dialog").dialog({ buttons: [{
        text: "Close",
        click: function() { $(this).dialog("close"); }
      }] });*/

      $("#dialog").dialog();

      setTimeout(function(){
          $("#dialog").dialog("open");
      }, 30000);

  });
  </script>

//html code above </body>
<div id="dialog" title="Dialog Title">
<br>
<span style="text-align:center; font-weight:bolder;font-size:15px; display:block">Make this Hindi Site Popular. <br>
Please Share.</span>
<br>
<!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style addthis_32x32_style">
<a class="addthis_button_preferred_1"></a>
<a class="addthis_button_preferred_2"></a>
<a class="addthis_button_linkedin"></a>
<a class="addthis_button_preferred_5"></a>
<a class="addthis_button_compact"></a>
<a class="addthis_counter addthis_bubble_style"></a>
</div>
<script type="text/javascript">var addthis_config = {"data_track_clickback":true};</script>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=kuldeep06march"></script>
<!-- AddThis Button END -->
<br>
</div>

我在setTimeout JS函数中设置超时30000毫秒,所以30秒后会出现一个对话框并要求“共享”。问题是关闭对话框后,它会一次又一次出现。请参阅“http://www.bccfalna.com”

上的实时工作代码

我如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

$("#dialog").dialog({ autoOpen: false,
modal: true,
position: 'center',
resizable: false,
draggable: false,
width: 280,
height: 530 ,
closeText: 'hide',
closeOnEscape: true,
hide: 'slide',
show: 'slide',
title: 'Help!' }).dialog();

 var timeoutId = setTimeout(function(){
      $("#dialog").dialog("open");
      clearTimeout(timeoutId)
  }, 30000);

试试这个。

答案 1 :(得分:1)

好吧,在您提供的链接中,您将上面的代码段包含在:

$window.scroll(function() {

这意味着每次用户滚动时,您都会创建一个新的超时。 :)