Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   click jquery (https://javascript.ru/forum/dom-window/75859-click-jquery.html)

SolomonRei 12.11.2018 21:44

click jquery
 
Вызываю модальное окно,нужно чтобы при нажатии на кнопку,модальное окно вызывалось через 5 секунд.Сейчас при нажатии на кнопку,в адресной строке прописывается #form-popup, и модальное окно не выводится,а затем если уже нажать,то выводится как положено.Я установил,что это связано с #form-popup,когда это в url,то все работает,но изначально у меня этого нет,как мне исправить эту ошибку.
jQuery(document).ready(function($) {
    $('.popup-with-form-allabout').click(function(){
      sleep(5000);
        $('.popup-with-form-allabout').magnificPopup({
          type: 'inline'
      });
    });
});

<a href="#form-popup" class = "popup-with-form-allabout" style = "text-decoration: none;"><div class = "mainButton">Написать нам</div></a>

<div id="form-popup" class="white-popup mfp-hide" >
      ....
    </div>

рони 12.11.2018 21:49

SolomonRei,
строка 3 ... это ... что?

SolomonRei 12.11.2018 21:57

а да,забыл
Это на подобии функции sleep в php
function sleep(ms) {
      ms += new Date().getTime();
      while (new Date() < ms){}
  }

рони 12.11.2018 21:58

SolomonRei,
выкиньте и никогда не используйте

SolomonRei 12.11.2018 21:59

а как тогда,мне через 5 секунд открыть это модальное окно?

SolomonRei 12.11.2018 21:59

подскажите

рони 12.11.2018 22:02

SolomonRei,
jQuery(document).ready(function($) {
    var tm;
    $('.popup-with-form-allabout').click(function(event){
        event.preventDefault();
        window.clearTimeout(tm);
        tm = window.setTimeout(function() {
       $('.popup-with-form-allabout').magnificPopup({
          type: 'inline'
      });
}, 5000)

    });
});

SolomonRei 12.11.2018 22:07

Спасибо.но все равно только со второго раза открывается модальное окно,ошибка осталась

madeas 12.11.2018 22:09

SolomonRei,
если не секрет, а зачем вам такой долгий тайм?
Такое долгое время ожидания не оправдывает себя и только вводит пользователей в замешательство.

SolomonRei 12.11.2018 22:11

Задачу мне такую дали


Часовой пояс GMT +3, время: 23:11.