Это код для запуска ползунка swiper, и когда слайды перемещаются или меняются слайды, я запускаю функцию перемещения, которая запускает метод setInterval для линии прогресса над слайдером, чтобы увеличить его ширину до 100%, но когда я проведите ползунком до того, как время автозапуска закончится, и снова запустите функцию move, и эта новая функция запустит новый setInterval, если только старый еще не завершен sh, поэтому у меня конфликт двух наборов интервалов. В любом случае мне нужно очистить старый, если его время еще не закончилось. Я надеюсь, что вы понимаете и знаете, где именно проблема. Наконец, спасибо, и извините за мой Engli sh :) есть ссылка под кодом, пожалуйста, просмотрите его
var autoplay = 5000;
var swiper = new Swiper('.swiper-container', {
pagination: '.swiper-pagination',
paginationClickable: true,
watchSlidesProgress: true,
autoplay: autoplay,
onProgress: move
});
function move() {
var elem = document.getElementById("progress");
var width = 1;
var autoplayTime = autoplay / 100;
var id = setInterval(frame, autoplayTime);
function frame() {
if (width >= 100) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
}
}
}
ссылка => https://codepen.io/shady-agmy/pen/OJVmNPw?editors=1010