如何在不滚动页面的情况下检测滚动方向(鼠标滚轮向上/向下)? 我的页面包装的高度为100%,所以没有内容可以滚动,但我需要从滚轮滚动方向。获取滚动方向而不滚动
由于谷歌地图的做法相同(使用mousehweel进行缩放而没有“滚动”页面),我不知道如何实现这一点。
如何在不滚动页面的情况下检测滚动方向(鼠标滚轮向上/向下)? 我的页面包装的高度为100%,所以没有内容可以滚动,但我需要从滚轮滚动方向。获取滚动方向而不滚动
由于谷歌地图的做法相同(使用mousehweel进行缩放而没有“滚动”页面),我不知道如何实现这一点。
如果您正在谈论鼠标滚轮,您可以在窗口上使用addEventListener
。 event.wheelDelta
将有-120
或120
增量,滚动向下和向上,分别为:
window.addEventListener('mousewheel', function(e){
wDelta = e.wheelDelta < 0 ? 'down' : 'up';
console.log(wDelta);
});
当然,你需要配合不同的浏览器。但我会留给你的。请参见here
您可以将事件处理程序添加到mousewheel
事件中,同时获取的不仅是event
对象,还包含车轮增量。
// Using jQuery library
$(function() {
$('body').bind('mousewheel', function(event, delta) {
// delta > 0 scroll up
// delta < 0 scroll down
});
});
纯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
}
您可能想提及您使用jQuery,因为OP没有要求。 – George
退房的jQuery的MouseMove http://api.jquery.com/mousemove/ 店前面的XY为变量,它与当前onces比较,以确定鼠标指针的方向
这里有信息关于如何做你想做的事情:http://www.adomas.org/javascript-mouse-wheel/ – Martin