私は横スクロールのウェブサイトを持っています。私はmousewheel.jsを使用して、マウスホイールで水平方向に(または上下に)スクロールしています。私はCSSトリックのスニペットを次のように使用しています:
$("body").mousewheel(function(event, delta) {
this.scrollLeft -= (delta * 5);
event.preventDefault();
});
下にスクロールすると、ブラウザはそれを右スクロールとして解釈します。これはうまくいきます。
この動作を一時的に無効にする必要があります。たとえば、サイトにギャラリーを重ねるパネルがあります。そのパネルが開いている間、次のようにスクロールを無効にしたい:
$("a.gal").on("click", function(){
$("#galPanel").addClass("open");
$("body").mousewheel(function(event, delta) {
event.preventDefault();
});
});
パネルを終了したら、マウスホイール プラグインを再開したいと思います。
どうすればこれを達成できますか?
更新: 有効な解決策を見つけましたが、これが最善の方法であるかどうかはわかりません:
$("#galPanel").bind("mousewheel", function() {
return false;
});