Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Слайдер и display:none (https://javascript.ru/forum/misc/73023-slajjder-i-display-none.html)

Noonf 14.03.2018 22:29

Добавил, только поменял местами строчки т.к. .bg_slider (затемнение) срабатывал только при повторном нажатии

jQuery('.product_1').click(function(){
jQuery('.bg_slider').addClass('active');
jQuery('.product_slider_1').addClass('active').sli ck('reInit') ;
});

Проблема стала проявляться реже, примерно 1 раз из 5

рони 14.03.2018 22:40

Noonf,
у вас все слайдеры открываются одновременно?

Noonf 14.03.2018 22:43

нет, открывается только один

Noonf 14.03.2018 22:47

Вот так прописано для всех пяти слайдеров

jQuery('.product_1').click(function(){
jQuery('.bg_slider').addClass('active');
jQuery('.product_slider_1').addClass('active').sli ck('reInit') ;
});

jQuery('.bg_slider').click(function(){
jQuery('.product_slider_1').removeClass('active');
jQuery('.bg_slider').removeClass('active');
});



jQuery('.product_2').click(function(){
jQuery('.bg_slider').addClass('active');
jQuery('.product_slider_2').addClass('active').sli ck('reInit') ;
});

jQuery('.bg_slider').click(function(){
jQuery('.product_slider_2').removeClass('active');
jQuery('.bg_slider').removeClass('active');
});



jQuery('.product_3').click(function(){
jQuery('.bg_slider').addClass('active');
jQuery('.product_slider_3').addClass('active').sli ck('reInit') ;
});

jQuery('.bg_slider').click(function(){
jQuery('.product_slider_3').removeClass('active');
jQuery('.bg_slider').removeClass('active');
});



jQuery('.product_4').click(function(){
jQuery('.bg_slider').addClass('active');
jQuery('.product_slider_4').addClass('active').sli ck('reInit') ;
});

jQuery('.bg_slider').click(function(){
jQuery('.product_slider_4').removeClass('active');
jQuery('.bg_slider').removeClass('active');
});



jQuery('.product_5').click(function(){
jQuery('.bg_slider').addClass('active');
jQuery('.product_slider_5').addClass('active').sli ck('reInit') ;
});

jQuery('.bg_slider').click(function(){
jQuery('.product_slider_5').removeClass('active');
jQuery('.bg_slider').removeClass('active');
});

Noonf 14.03.2018 22:49

А этот код общий для всех

jQuery(window).on("load", function() {
jQuery('.product_slider')
.addClass('active')
.slick({
autoplay: true,
autoplaySpeed: 500,
speed: 1000,
slidesToShow: 4
})
.removeClass('active');
});

рони 14.03.2018 23:10

Noonf,
много кода ... много лишнего кода ...

Noonf 14.03.2018 23:21

Понял, закрытие слайдера сократил вот так

jQuery('.bg_slider').click(function(){
jQuery('.product_slider').removeClass('active');
jQuery('.bg_slider').removeClass('active');
});

рони 14.03.2018 23:34

Noonf,
форум - поиск - открывашка

Noonf 15.03.2018 00:46

Прописал открытие вот так, правда пока только для одного ) Но проблема осталась


window.addEventListener("DOMContentLoaded", function() {
var btn = document.querySelectorAll("[data-id]"),
block = document.querySelectorAll(".product_slider_1");
[].forEach.call(btn, function(item, k) {
item.dataset.text = item.textContent;
var id = item.dataset.id;
item.addEventListener("click", function(event) {
event.preventDefault();
[].forEach.call(block, function(el, i) {
if (el.id == id) {
el.classList.product_slider("active");
el.classList.contains("active") && block[0].classList.remove("active")
}
else el.classList.add("active");
});
})
})
});

рони 15.03.2018 00:54

Noonf,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.


Часовой пояс GMT +3, время: 18:26.