Я очень новичок в Javascript и jQuery и, возможно, перешел в глубокий конец, пытаясь создать отзывчивое слайд-шоу. У меня есть следующий код, с точкой зрения изменения размера ползунка по размеру окна, используя функцию, которая определяет отдельные слайды равной ширину контейнера слайдера с помощью setInterval:Запуск и остановка setInterval и clearInterval
var slider = $('.slider'), // Get the div with a class of slider
sliderWidth = slider.width(), // Get the width of the slider
gallery = $('.slider ul'),
slides = $('.slider ul').children('li'),
noOfSlides = slides.length,
speed = 5000,
current = 0,
slideShowInt,
responseSlider;
// Initially set the width of the li to equal the width of the slider
$('.slider ul').children('li').width(sliderWidth);
// Run a function that keeps making the
// li width equal the slider when window is resized
function resizeSlider(){
responseSlider = setInterval(function(){
slider = $('.slider'),
sliderWidth = slider.width();
slides.width(sliderWidth);
console.log(sliderWidth);
},10);
}
$(window).resize(resizeSlider);
clearInterval(responseSlider);
Это не может даже быть правильным способ сделать это, но я хотел бы знать, можно ли остановить запуск setInterval с помощью clearInterval, пока окно не будет изменено снова. В текущем состоянии, глядя на консоль, он просто продолжает регистрировать ширину.
Заранее благодарен!
Спасибо, все ответы дали бы мне правильный результат, но в моем случае я неправильно понял .resize, теперь он отлично работает и не использует таймеры. – user2057507