Javascript 捕获滚轮事件以将向上/向下更改为向下/向上

Javascript 捕获滚轮事件以将向上/向下更改为向下/向上,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个客户,他想更改他们网站的功能,这样用户从网站的底部开始,必须向下滚动才能向上导航 所以基本上,我需要一种方法来反转滚动功能,这样如果你向下滚动,它就会向上滚动,反之亦然 我做了一些研究,发现了这个(),这让我有了下面的内容来捕捉滚动事件: var lastScrollTop = 0; $(window).scroll(function (event) { var st = $(this).scrollTop();

我有一个客户,他想更改他们网站的功能,这样用户从网站的底部开始,必须向下滚动才能向上导航

所以基本上,我需要一种方法来反转滚动功能,这样如果你向下滚动,它就会向上滚动,反之亦然

我做了一些研究,发现了这个(),这让我有了下面的内容来捕捉滚动事件:

        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;
        });
这很好,它可以识别用户是向上还是向下滚动

但我不知道我能做些什么:

  • 停止默认滚动,然后
  • 向另一个方向滚动

  • 有人知道我在这里能做什么吗?或者,如果有一种完全不同的方法可以使用插件或其他方法来实现这一点,我愿意做任何事情。

    这里有一个快速组合:

    基本上,您希望捕获
    mouseweel
    事件(或
    DOMMouseScroll
    事件)并阻止默认设置

    两方面的文件:

    鼠标滚轮:(大多数主要浏览器) DOMMouseScroll:(FireFox/Gecko)

    不幸的是,正如您所看到的,它不是一个“标准”,因此支持不能得到保证

    需要指出的一点是,
    偏移量是
    10px
    。虽然这是硬编码的(并且可能是您的客户正在寻找的),但这并不理想——因为您期望惯性。此外,这是用禁用“正常”滚动功能的MacBooK Pro进行测试的(向上滚动是向下滚动还是其他什么),所以我不确定这在delta方面如何发挥作用

    最后,如果想要删除滚动条,您可以偏移容器的
    顶部
    位置


    祝你好运

    我很好奇-当用户开始“反向”滚动时,您在什么时候启用“正常”滚动?在用户返回页面顶部之前,是否反转滚动?或者,您是否允许他们在一段时间后再次开始滚动?这是一个如此奇怪的互动…@JackPattishall-它永远不会回到正常的滚动。向下/向上总是向上/向下。是的,我同意这种奇怪的互动:)我猜他们想要的是“你向下滚动,内容向下移动”的外观。啊,我明白了。对不起,我误解了你的要求。当你到达页面底部时,我还以为你在反向滚动呢!您的初始状态或起始点位于页面底部??然后,当用户“向下滚动”时,页面会向上滚动?用户会看到滚动条吗?(他们在页面的底部?)他们可以画“拇指”向上滚动到顶部吗?(或者,你想把它藏起来吗?)这太棒了!正是我想要的。我不确定滚动条是否可见,但我不确定我是否理解您通过偏移容器顶部位置提出的建议。我该如何修改它?嗨,史蒂文!伟人。关于滚动条-假设客户端希望您隐藏滚动条。然后操作溢出(而不是滚动条)-因此偏移量位于
    顶部
    位置。大概是这样的: