Почему это диалоговое окно JQuery появляется снова и снова? - PullRequest
0 голосов
/ 30 мая 2011

Я использую 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>

Я установил тайм-аут 30000 мс в функции setTimeout JS, поэтому через 30 секунд появляется диалоговое окно с запросом «Общий доступ».Проблема в том, что после закрытия диалогового окна оно появляется снова и снова.См. Действующий рабочий код по адресу "http://www.bccfalna.com"

. Как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Что ж, по указанной вами ссылке у вас есть фрагмент кода выше, завернутый в:

$window.scroll(function() {

Это означает, что каждый раз, когда пользователь выполняет прокрутку, вы создаете новый тайм-аут. :)

1 голос
/ 30 мая 2011
$("#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);

Попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...