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

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

рони 12.11.2018 22:44

magnificPopup timer
 
SolomonRei,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .mfp-hide{
  display: none;
  }
 .white-popup {
  position: relative;
  background-color: #FFFFFF;
  padding: 20px;
  width: auto;
  max-width: 500px;
  margin: 20px auto;
}
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js"></script>
  <script>
jQuery(document).ready(function($) {
    var tm;
    $('.popup-with-form-allabout').click(function(event){
        event.preventDefault();
        window.clearTimeout(tm);
        tm = window.setTimeout(function() {
        $.magnificPopup.open({
        items : {src : '#form-popup', type: 'inline'}

      });
}, 5000)

    });
});

  </script>
</head>

<body>


<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" >

 test


    </div>


</body>
</html>

SolomonRei 12.11.2018 23:00

Спасибо большое,все работает


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