Здравствуйте! На странице есть несколько слайдов и кнопки переключения. Дополнительно требуется, чтобы выводился номер слайда. Я написал такой код:
var slides = $(".slides"); // Получаем список слайдов
var count = parseInt($(".slide-active").attr("data-slick-index")) + 1; // У каждого слайда есть атрибут data-slick-index с его номером. начинаются эти индексы с нуля, поэтому прибавляю 1, чтобы...
$(".slider-counter").text(count); // ...вывести это число на странице (да, можно просто присвоить 1 сразу, но есть причины, по которым нужно сделать именно так).
// А дальше уже идет обработка кликов и вывод номера текущего слайда
// Следующий слайд
$(".slide-next").click(function() {
if (count < slides.length) {
count++;
$(".slider-counter").text(count);
} else {
count = 1;
$(".slider-counter").text(count);
}
});
// Предыдущий слайд
$(".slide-prev").click(function() {
if (count === 1) {
count = slides.length;
$(".slider-counter").text(count);
} else {
count--;
$(".slider-counter").text(count);
}
});
Собственно, проблема в том, что если кликнуть дважды, а то и трижды быстро, то слайд не успевает переключиться, а счетчик успевает перескочить через одно/два значения. как изменить код, что добавить, чтобы такого не случалось? Возможно, как-то использовать setTimeout, но чет не понимаю, как...