jquery ui スライダー プラグインを使用して垂直スライダーを作成しました。
マウスがスライダーの上にあるときに、マウスホイールでスライダーを上下にスクロールできるようにしたいと思います。
スライダーはスクロール可能なオブジェクトではないため、.scroll
メソッドに応答しません。
ウィンドウがスクロールするときにマウスがスライダーの上にあるかどうかを確認することで、回避策を見つけました。この方法を使用すると、次の 2 つの問題があります。
1-event.preventDefault()
ウィンドウを使用してもスクロールします...
2- ウィンドウが完全に上にスクロールされると、スライダーが最初の位置になくても上にスクロールできなくなります。
var lastScrollTop = 0;
$(window).scroll(function (e) {
if (mouseSlider) {
e.preventDefault(); //Doesn't stop window from scrolling
var st = $(this).scrollTop();
if (st > lastScrollTop) {
$('#next-day').click();
} else {
$('#prev-day').click();
}
lastScrollTop = st;
return false;
}
});
例を次に示します: http://jsfiddle.net/4xCyk/1/
event.preventDefault()
正しく機能するのはなぜですか? スクロールバーが一番上にある場合でもスクロールを有効にする方法はありますか?
または、これを行うためのはるかに簡単な方法はありますか?