Очередь предстоящих событий в jquery

279
12 мая 2017, 16:19

У меня должна сначала выполниться библиотека magnificPopup:

$('#block').on('click', function() { 
  $.when( 
    $.magnificPopup.open({ 
      items: { 
        src: 'https://dimsemenov.com/plugins/magnific-popup/', 
        type: 'ajax' 
      } 
    }) 
  ).then(function() { 
    alert('Вот пример того, что запускается сначала alert, а только потом открывается модальное окно'); 
    $('.span').addClass('speed-in'); 
  }); 
});
.span { 
  color: #000; 
} 
 
.speed-in { 
  color: #eee; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script src="https://rawgit.com/dimsemenov/Magnific-Popup/master/dist/jquery.magnific-popup.js"></script> 
<link href="https://raw.githubusercontent.com/dimsemenov/Magnific-Popup/master/dist/magnific-popup.css" rel="stylesheet" /> 
<a href="#" id="block">Нажмите</a><br/> 
<span class="span">Меняет цвет</span>

Вообщем у меня должно выполняться сначала открытие информации с другой страницы в модальном окне (в примере кода, сайт не откроется), а затем только надо выполнить добавление класса к span. Так как по идее этот span будет находиться, как раз на другой странице, которую вызываю в модальном окне.

Как мне определить очередность выполнения, подскажите, пожалуйста, уважаемые эксперты?

Answer 1

Я не уверен, то ли это, что вам нужно, но у этого плагина есть коллбэки: http://dimsemenov.com/plugins/magnific-popup/documentation.html#api

С их помощью можно вызывать различные события в различные моменты, в том числе и после того, как попап открылся.

Выгляди это так:

$('#block').on('click', function() {
  $.magnificPopup.open({
      items: {
        src: 'https://dimsemenov.com/plugins/magnific-popup/',
        type: 'ajax'
      },
      callbacks: {
        open: function()  {
          $('.span').addClass('speed-in');
        }
      }
    });
});
READ ALSO
Передача результата функции jquery на другу страницу

Передача результата функции jquery на другу страницу

Доброго времени суток, есть такой вопрос, на который не нашел ответа (или не понял)Написал калькулятор на одной странице, он должен отправлять...

316
.on(&#39;click&#39;,&#39;handler&#39; function(){})

.on('click','handler' function(){})

Здравствуйте!

320
Плывет верстка на iPad 3 iOS 7.0.4

Плывет верстка на iPad 3 iOS 7.0.4

Сайт на всех разрешениях и девайсах отображается корректно(как заданно в css), за исключением iPad 3(пока только на нем), вот пример футера(все...

492
Гугл мап по клику

Гугл мап по клику

Добрый деньЕсть секция со своим фоном и текстом

432