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));
});
撮影場所:
以下は完全な例です:
現在、250ミリ秒後にスクロールが停止したかどうかを確認します。停止している場合は、stopAuto()を呼び出します。遅延に合わせてMSを調整して、ニーズに合わせることができます。
元々、コールバックが機能するかもしれないと思っていましたが、スクロールイベントだけで十分だと思います。
このBXsliderイベントコールバックは必要ありませんが、完全を期すために含めています。
onSlideAfter: function(){
// if scrolling stop
if (isScrolling){
slider.stopAuto();
}
// else continue
else{
slider.startAuto();
}
}