6

ユーザーがページを上下にスクロールしようとしていることを検出したいのですが、実際のスクロールを許可したくないので、overflow:hidden body を設定しました。コードは次のようなものです。

$('html,body').css('overflow','hidden');
$(window).scroll(function(event){
    console.log("scroll");
});

問題は、実際のスクロールがないため、イベントを発生させることができないため、オーバーフロー スタイルを削除して何らかの方法でスクロールを防止することを考えましたが、その方法がわかりません。

とにかく、スクロールの試みを検出しながらスクロールを修正する方法はありますか? ありがとう

4

2 に答える 2

4

jQuery マウスホイールhttps://github.com/brandonaaron/jquery-mousewheelを使用してみてください。マウスホイールの動きを検出できます。もう 1 つのオプションは、オーバーフローを非表示に設定せず、代わりにスクロールの試行をキャッチして自分でスクロールすることです。JS スクロール用のライブラリもたくさんあります。私はhttp://manos.malihu.gr/jquery-custom-content-scroller/が好きです。

于 2013-09-11T17:55:23.573 に答える
2

これがjQueryソリューションです。

$(document).bind('mousewheel', function(e) {
    var delta = e.originalEvent.wheelDelta;
    console.log('The mouse delta is : ' + delta);
});

jQuery ドキュメント - .bind()

于 2016-02-05T00:40:16.173 に答える