divが左にスクロールされているときに、コードのブロックをトリガするために追加するコードは?述べ左スクロールを検出するJavaScript
var isleft = e.delta < 0;
if isleft = true { do something }
divが左にスクロールされているときに、コードのブロックをトリガするために追加するコードは?述べ左スクロールを検出するJavaScript
var isleft = e.delta < 0;
if isleft = true { do something }
によってこのソリューションでは、DOMイベントを検出します。
$(window).on('DOMMouseScroll mousewheel', function (e) { if(e.originalEvent.detail > 0 || e.originalEvent.wheelDeltaX < 0) { //alternative options for wheelData: wheelDeltaX & wheelDeltaY //scroll right console.log("RIGHT"); } else { //scroll left console.log("LEFT"); } //prevent page fom scrolling return false; });
それはすべてのブラウザで動作するはず:divがあなたがこのスニペットでスクロール方向を検出することができるはずいくつかのスクロールバー
を持っている必要はありません。あなたは、水平方向を検出する必要がある場合は、スクロール方向を検出し、また、動作するはずですが、ページが実際にスクロールしている場合にのみエンド
として、あなたは、水平スクロールを処理することができhere :この場合、このバインドすべての種類では
$("#someContainer").on("scroll", function (e) {
horizontal = e.currentTarget.scrollLeft;
vertical = e.currentTarget.scrollTop;
});
<script>
(function() {
function scrollH(e) {
e = window.event || e;
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
document.getElementById('myDiv').scrollLeft -= (delta * 40);
e.preventDefault();
}
if (window.addEventListener) {
window.addEventListener("mousewheel", scrollH, false);
window.addEventListener("DOMMouseScroll", scrollH, false);
} else {
window.attachEvent("onmousewheel", scrollH);
}
if "scrollingLeft" {
// do something
}
else
{
// do something else
}
})();
</script>
は、これまでのところ私は無駄に次の試してみましたこの要素のスクロールイベントを処理できるように
垂直e.currentTarget.scrollTop
と
水平でe.currentTarget.scrollLeft
でページスクロール、
return true
をできるようにしたい場合は、wheelDeltaY
で
wheelDeltaX
を置き換えます –