仅为用户禁用滚动

时间:2013-01-02 12:26:22

标签: jquery html css scroll

我正在尝试创建一个用户无法滚动的页面(表示没有鼠标滚轮,没有空格,没有向下游标等)。而网站本身仍然能够滚动:如果某个特定事件被触发,即触发一个按钮,则滚动应该发生。

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

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

有谁知道这是怎么做的?

我个人的做法是:

创建一个高度仅为视口大小的100%的网站,然后通过css动画或jQuery在其他div中滑动。但它似乎对我很苛刻。

修改

我尝试使用overflow:hidden属性,但遇到了滚动无效的问题。

以下是我的项目的实例,不包括必要的代码:

Example

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

Example 2

编辑#2

我不知道为什么,但突然之间有效。

我将overflow: hidden应用于body,然后使用以下脚本通过指定其ID来滚动到元素。都好。非常感谢lukasgeiter,他提到了这个问题。

脚本

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

    }

1 个答案:

答案 0 :(得分:3)

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

例如:

$(window).on("mousewheel", function(e){
    e.preventDefault();
});