не работают всплывающие окна в карточках продукции
Вложений: 1
Доброго времени суток форумчане! Подскажите пожалуйста, сам не могу разобраться почему они не работают.
Вот карточка товара _https://lik-astana.kz/poligraficheskie-uslugi/kserokopirovanie/cherno-belaya-kopiya-detail.html тут карты не работают. Вот категория где лежит эта карточка _https://lik-astana.kz/poligraficheskie-uslugi/kserokopirovanie.html тут уже карты работают. Пробовал следующие, был вот такой код
(function ($) {
var jump = function (e) {
if (e) {
e.preventDefault();
var target = $(this).attr("href");
} else {
var target = location.hash;
}
$('html,body').animate({
scrollTop: $(target).offset().top
}, 1000, function () {
location.hash = target;
});
}
$('html, body').hide();
$(document).ready(function () {
$('a[href^=#contact]').bind("click", jump);
if (location.hash) {
setTimeout(function () {
$('html, body').scrollTop(0).show()
jump();
}, 0);
} else {
$('html, body').show();
}
});
})(jQuery)
Заменил вот так
(function (jQuery) {
var jump = function (e) {
if (e) {
e.preventDefault();
var target = $(this).attr("href");
} else {
var target = location.hash;
}
jQuery('html,body').animate({
scrollTop: jQuery (target).offset().top
}, 1000, function () {
location.hash = target;
});
}
jQuery('html, body').hide();
jQuery(document).ready(function () {
jQuery('a[href^=#contact]').bind("click", jump);
if (location.hash) {
setTimeout(function () {
jQuery('html, body').scrollTop(0).show()
jump();
}, 0);
} else {
jQuery('html, body').show();
}
});
})(jQuery)
Карты не заработали. Сам не могу разобраться в чем проблема, виноват ли этот код или в чем-то еще. Скрин на карты прилагаю |
Stas1985,
попробуйте так ...
(function (jQuery) {
var jump = function (e) {
var target = location.hash;
if (e) {
e.preventDefault();
target = $(this).attr("href");
};
if(!jQuery(target).length) return;
jQuery('html,body').animate({
scrollTop: jQuery (target).offset().top
}, 1000, function () {
location.hash = target;
});
}
jQuery('html, body').hide();
jQuery(document).ready(function () {
jQuery('a[href^=#contact]').on("click", jump);
if (location.hash) {
setTimeout(function () {
jQuery('html, body').scrollTop(0).show()
jump();
}, 0);
} else {
jQuery('html, body').show();
}
});
})(jQuery)
|
Так тоже не работает.
|
Есть еще такой нюанс, при нажатии на карту добавляется якорь #gameos
этот код идет уже в самом окне
jQuery(function() {
jQuery(document).on("click", function(event){
if(event.target.id == "devepmen-barselona") {
location.hash = '#gameos';
history.replaceState(null, null, null, '');
}
});
});
|
Подскажите пожалуйста, что еще можно предпринять в поиске и решении данной проблемы. Я понимаю что есть конфликт в коде но не могу понять где и как решить.
|
console.log
Средства отладки браузера. |
Цитата:
https://developer.mozilla.org/ru/doc...y/replaceState |
voraa, если вам не сложно, объясните пожалуйста по подробнее так как в js я не селен и разобраться самому очень сложно.
|
Понять не могу, почему один и тот-же код в категории работает а в карточке товара нет
_https://lik-astana.kz/imidzhevaya-produktsiya/ordenskie-planki.html - категория _https://lik-astana.kz/imidzhevaya-produktsiya/ordenskie-planki/ordenskaya-planka-detail.html - карточка товара |
Если отключаю этот код
<script>
jQuery(function() {
jQuery(document).on("click", function(event){
if(event.target.id == "devepmen-kubrina") {
location.hash = '#gameos';
history.replaceState(null, null, null, ' ');
}
});
});
</script>
то карта открывается но по клику на пустое поле карта не закрывается. Воспроизвести проблему можно тут _https://lik-astana.kz/poligraficheskie-uslugi/nanesenie-logotipa/nanesenie-maski-detail.html код убран у карты по центру. |
Если закоментировать
// location.hash = '#gameos'; То карта открывается но не закрывается по клику вне карты |
| Часовой пояс GMT +3, время: 09:06. |