我有一个客户想要更改其网站的功能,以便用户从网站底部开始,并且必须向下滚动才能向上导航。
所以基本上,我需要一种方法来反转滚动功能,这样如果向下滚动,它会向上滚动,反之亦然。
我做了一些研究并找到了这个(How can I determine the direction of a jQuery scroll event?),它给了我下面的内容来捕捉滚动事件:
var lastScrollTop = 0;
$(window).scroll(function (event) {
var st = $(this).scrollTop();
if (st > lastScrollTop) {
// downscroll code
alert("DOWN");
} else {
// upscroll code
alert("UP");
}
lastScrollTop = st;
});
这样可以正常工作,它可以识别用户是向上还是向下滚动。
但我不知道我能做些什么:
任何人都知道我能在这做什么吗?或者如果使用插件或其他方法完全不同的方法,我可以做任何事情。
答案 0 :(得分:1)
这里有一个快速的小提琴:
基本上,您希望捕获mousewheel
事件(或DOMMouseScroll
事件)并阻止默认值。
两者的文件:
MouseWheel:https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel(大多数主流浏览器) DOMMouseScroll:https://developer.mozilla.org/en-US/docs/Web/Events/DOMMouseScroll(FireFox / Gecko)
不幸的是,正如您所看到的,它不是标准",所以支持不是保证......
有一点需要指出的是offset
是10px
。虽然这是硬编码(可能是您的客户正在寻找的),但它并不理想 - 因为您期望惯性。此外,这是使用MacBooK Pro测试的,其中"正常"滚动禁用(向上滚动或向下滚动) - 所以我不确定它如何在增量方面发挥作用。
最后,如果希望删除滚动条,则可以偏移容器的top
位置。