У мен на сайте есть попап, который на десктопе всплывает, когда мы уводим мышку вверх и только 2 раза, с разницей в 3 минуты, а на тач-устройствах оно всплывает через 20 секунд после загрузки страницы. Но появилась проблема наслоения попапов: если посетитель зашёл на сайт и уже открыл какую-то форму, то ему поверх потом всплывает окно. Проблему на десктопе решила так:
var action = '0';
$(".header2-catalog_btn").click(function(){
$("#cataloghomepopup").addClass("show");
action = '1';
return action;
}),
$("#cataloghomepopup-close").click(function(){
$("#cataloghomepopup").removeClass("show");
action = '0';
return action;
}),
$(document).ready(function(){
var lastPop = 0;
var count = 0;
$(document).on('mouseleave', popup);
function popup(e){
var now = new Date().getTime();
var left_3min = 180000 < ( now - lastPop );
console.log(now - lastPop);
if (e.clientY < 0 && left_3min && action == '0') {
$("#staypopup").addClass("show");
lastPop = now;
if( ++count == 2 )
$(document).off('mouseleave', popup);
}
}
})
А на тач-устройствах, тем же способом, вот код:
$(document).ready(function(){
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
if (action == '0'){
setTimeout(function(){
$("#staypopup").addClass("show")}
, 20000);
}
}})
Но на тач-устройствах всё равно происходит наслоения форм((( Может это моя невнимательность или я что-то делаю не так? Подскажите пожалуйста. И еще один момент - при проверке устройства, все ли у меня прописаны маркеры, не хотелось бы чтобы на каком-нибудь планшете или телефон вообще не работало. Заранее спасибо!
Тут случается наслоение попапов потому что вначале надо запускать таймер и когда время прийдет то проверять action и открыть попап так как через 20секунд action 0 уже может быть не актуален а попап всеравно откроет
if (action == '0'){
setTimeout(function(){
$("#staypopup").addClass("show")}
, 20000);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Делаю обработчики для меню, получается так, что обрабатываю множество событий на различные селекторыПолучаю все элементы через класс с помощью...
На Авито (добавление объявления) при выборе адреса на карте метка движется вместе с курсором (по центру)Я пытаюсь повторить тоже самое , но не совсем...
Число называется счастливым если при складывании, суммы обеих сторон числа ровны друг другуНа пример։A=1230 считается счастливым потому что...
Найти наибольший общий делитель двух натуральных чисел: