私は Javascript と jQuery に非常に慣れていないため、レスポンシブ スライド ショーを作成しようとして深いところに飛び込んでしまった可能性があります。setInterval を使用して個々のスライドをスライダー コンテナーの幅と等しくなるように設定する関数を使用して、ウィンドウに合わせてスライダーのサイズを変更するという点で、次のコードがあります。
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);
これは正しい方法ではないかもしれませんが、ウィンドウのサイズが再度変更されるまで、clearInterval を使用して setInterval の実行を停止できるかどうかを知りたいです。現在の状態では、コンソールを見ると、幅を記録し続けています。
前もって感謝します!