Задать вопрос
@WebforSelf

Как открывать всплывающее окно при первом входе на сайт?

Есть сайт, там стоит уже плагин всплывающих окон
Magnific Popup

Реализовано так,

<a class="btn smt-btn-topbar smt-btn-topbar_theme_dark smt-popup-link" href="#smt-popup-phone">ЗАКАЗАТЬ ОБРАТНЫЙ ЗВОНОК</a>

<div class="smt-popup mfp-hide" id="smt-popup-phone">
    <section class="smt-widget smt-widget_no-margin">
        <header>
            <h2 class="smt-widget__header smt-widget__header_normal">Заказать обратный звонок</h2>
        </header>
        <div class="smt-widget__content">
            <div class="smt-form">
Тут контент всплывашки
               </div>       
           </div>
    </section>
</div>


Скрипт общий на все ссылки smt-popup-link
$('.smt-popup-link').magnificPopup({
            type: 'inline',
            closeMarkup: '<button title="%title%" type="button" class="mfp-close smt-popup-close">&#215;</button>',
            autoFocusLast: false
        });


У меня стоит задача сделать чтоб при первом входе всплывало окно, для этого сделал

<div class="smt-popup mfp-hide" id="smt-popup-promo">
    <section class="smt-widget smt-widget_no-margin">
        <header>
            <h2 class="smt-widget__header smt-widget__header_normal">Промо окно</h2>
        </header>
        <div class="smt-widget__content">
            <div class="smt-form">
Промотекст
               </div>       
           </div>
    </section>
</div>

и такой js
$(window).load(function() {
    // Проверим, есть ли запись в куках о посещении посетителя
    // Если запись есть - ничего не делаем
    if (!$.cookie('was')) {
      // Покажем всплывающее окно
      $('#smt-popup-promo').magnificPopup('open');
    }
    // Запомним в куках, что посетитель к нам уже заходил
    $.cookie('was', true, {
      expires: 365,
      path: '/'
    });
  });

Но проблема в том как запустить данное окно? id="smt-popup-promo" ?
К примеру чтоб после входа на сайт показывалось через 5 секунд?
Мне сделать скрытую кнопку и тригерить ее через 5 секунд?или можно более элегантно сделать?
  • Вопрос задан
  • 393 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@WebforSelf Автор вопроса
В общем решение такое

if (!$.cookie('was')) {	
setTimeout(function () {
     $.magnificPopup.open({
	                items: {
	                    src: '#smt-popup-promo',            
	                },
	               	type: 'inline',
	                removalDelay: 300
 
	            }); 
			}, 3000);
	};		
    $.cookie('was', true, {
      expires: 365,
      path: '/'
    });


Не забываем подключить плагин

jquery.cookie.js
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы