@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 секунд?или можно более элегантно сделать?
  • Вопрос задан
  • 59 просмотров
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alekcena
В попытках обрести навыки и умения
При загрузки страницы ставите таймер setTimeout
Можете внутри него активируете тригер для открытия вашего окна.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы