Как предотвратить double-click?

Здравствуйте! На странице есть несколько слайдов и кнопки переключения. Дополнительно требуется, чтобы выводился номер слайда. Я написал такой код:
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, но чет не понимаю, как...
  • Вопрос задан
  • 339 просмотров
Пригласить эксперта
Ответы на вопрос 1
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
зачем изобретать велосипед, если у slick есть свой калбек?
https://jsfiddle.net/h2r6m48w/
Ответ написан
Ваш ответ на вопрос

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

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