3

我正在尝试创建一个用户无法滚动的页面(意味着没有鼠标滚轮、没有空间、没有光标向下等)。当站点本身保持滚动时:如果触发了特定事件,即触发了按钮,则应该发生滚动。

我做了一些研究,不仅在stackoverflow上,而且在不同的论坛上。有传言说这是不可能的,实现禁用滚动的方法是overflow:hidden

好吧,这对我来说是错误的:http: //fk-agency.com/

有谁知道这是怎么做到的?

我个人的做法是:

创建一个高度仅为视口大小的 100% 的站点,然后通过 css 动画或 jQuery 在其他 div 中滑动。但这对我来说似乎很糟糕。

编辑

我尝试使用该overflow:hidden属性,但遇到滚动不起作用的问题。

这是我的项目的一个实时示例,不包括以下必要的代码:

例子

这是一个没有溢出的:隐藏

示例 2

编辑#2

我不知道为什么,但突然它起作用了。

我申请overflow: hiddenbody使用以下脚本通过指定它的 id 滚动到一个元素。都好。非常感谢 lukasgeiter,他提到了这个问题。

脚本

function scroll(target){
// target should be like "#id"
        $('html, body').animate({
            scrollTop: $(target).offset().top
        }, 500);

    }
4

1 回答 1

3

对我来说,可以使用overflow:hidden;并且这个网站就是这样做的......如果这还不够并且滚轮/箭头/空格仍然有效,您必须为不同的键和滚轮设置处理程序,然后使用e.preventDefault()return false阻止它们.

例如:

$(window).on("mousewheel", function(e){
    e.preventDefault();
});
于 2013-01-02T12:57:17.687 回答