/ /ウィンドウスクロールでBXSliderを停止-jquery、bxslider

ウィンドウのスクロールでBXSliderを停止する - jquery、bxslider

BSXliderを一時停止する方法を探しています。ユーザーがページをスクロールするときのカルーセル。これは可能ですか? Slider.stopAuto()コマンドの使用を検討していますが、機能しませんか?試して使用するとFirebugエラーが表示されます...

BXSliderコード呼び出しは次のとおりです。

var slider = $(".bxslider").bxSlider({
mode: "horizontal",
auto:true,
speed: 1000,
pause: 3500,
controls:true,
pager: false,
keyboardEnabled: true
});

それから私は使用しようとしました

$(document).scroll(function(){
slider = $(".bxslider").bxSlider();
slider.stopAuto();
return false;
});

何か案は?また、スクロールが終了したときにスライダーで自動再生を再開したい...

乾杯

ダブ。

回答:

回答№1は0

ウィンドウのスクロールで、少し遅れて開始と停止を設定します。

 $(window).scroll(function() {
clearTimeout($.data(this, "scrollTimer"));
slider.stopAuto();

$.data(this, "scrollTimer", setTimeout(function() {
slider.startAuto();
return false;

}, 250));
});

撮影場所:

https://stackoverflow.com/a/14092859

以下は完全な例です:

http://plnkr.co/edit/Z0ThJJo66MnMyDw2UVY5?p=preview

現在、250ミリ秒後にスクロールが停止したかどうかを確認します。停止している場合は、stopAuto()を呼び出します。遅延に合わせてMSを調整して、ニーズに合わせることができます。

元々、コールバックが機能するかもしれないと思っていましたが、スクロールイベントだけで十分だと思います。

このBXsliderイベントコールバックは必要ありませんが、完全を期すために含めています。

onSlideAfter: function(){
// if scrolling stop
if (isScrolling){
slider.stopAuto();
}
// else continue
else{
slider.startAuto();
}
}