Javascript 无需滚动即可获得滚动方向
如何在不滚动页面的情况下检测滚动方向(鼠标滚轮向上/向下)? 我的页面包装器的高度为100%,因此没有要滚动的内容,但我需要鼠标滚轮的滚动方向Javascript 无需滚动即可获得滚动方向,javascript,Javascript,如何在不滚动页面的情况下检测滚动方向(鼠标滚轮向上/向下)? 我的页面包装器的高度为100%,因此没有要滚动的内容,但我需要鼠标滚轮的滚动方向 既然谷歌地图也这么做(使用鼠标weel进行缩放而不“滚动”页面),我想知道如何实现这一点 如果您正在谈论鼠标滚轮,可以在窗口上使用addEventListener事件。wheelDelta将具有-120或120的增量,分别用于向下和向上滚动: window.addEventListener('mousewheel', function(e){ w
既然谷歌地图也这么做(使用鼠标weel进行缩放而不“滚动”页面),我想知道如何实现这一点 如果您正在谈论鼠标滚轮,可以在窗口上使用
addEventListener
<代码>事件。wheelDelta将具有-120
或120
的增量,分别用于向下和向上滚动:
window.addEventListener('mousewheel', function(e){
wDelta = e.wheelDelta < 0 ? 'down' : 'up';
console.log(wDelta);
});
window.addEventListener('mousewheel',函数(e){
wDelta=e.wheelDelta<0?“向下”:“向上”;
控制台日志(wDelta);
});
当然,您需要适应不同的浏览器。但我会让你决定的。请参见您可以向
鼠标滚轮
事件添加处理程序,不仅可以获取事件
对象,还可以获取滚轮增量
// Using jQuery library
$(function() {
$('body').bind('mousewheel', function(event, delta) {
// delta > 0 scroll up
// delta < 0 scroll down
});
});
//使用jQuery库
$(函数(){
$('body').bind('mousewheel',函数(事件,增量){
//增量>0向上滚动
//delta<0向下滚动
});
});
纯javascript:
document.onmousewheel = function(evt){
console.log(evt) // take a look in your console at evt.wheelDeltaX, evt.wheelDeltaY
//evt.wheelDeltaX is horizont scroll
//evt.wheelDeltaY is vertical scroll
//evt.wheelDelta is deltas x+y
// if evt.wheelDeltaY < 0 then scroll down, if >0 then scroll up
// if evt.wheelDeltaX < 0 then scroll left, if >0 then scroll right
}
document.onmouseheel=函数(evt){
console.log(evt)//在控制台中查看evt.wheelDeltaX,evt.wheelDeltaY
//evt.wheelDeltaX是水平卷轴
//evt.wheelDeltaY是垂直滚动的
//evt.wheelDelta是三角形x+y
//如果evt.wheelDeltaY<0,则向下滚动;如果evt.wheelDeltaY>0,则向上滚动
//如果evt.wheelDeltaX<0,则向左滚动;如果evt.wheelDeltaX>0,则向右滚动
}
查看jQuery MouseMove
将以前的x y存储到变量中,并将其与当前的once进行比较,以确定鼠标指针的方向我修改了Georges answer以使用现代浏览器。鼠标滚轮事件已过时,因此不再工作 以下代码段应适用于所有现代浏览器:
window.addEventListener('wheel',函数(e){
让wDelta=e.deltaY>0?'down':'up';
控制台日志(wDelta);
});代码>这里是关于如何做你想做的事情的信息:谢谢!工作起来很有魅力:)很高兴能帮上忙(:正是我要找的,谢谢你可能想提到你正在使用jQuery,因为OP没有要求它。