【发布时间】:2012-08-05 16:11:24
【问题描述】:
这里是 jsFiddle 以便更好地理解:http://jsfiddle.net/BzYcZ/
我有一些带有滚动条的 div。
我想要的是当我使用鼠标滚动在到达 div 的末尾时停止滚动而不是滚动整个页面。
发生的情况是,当我到达 div 的末尾时,整个页面开始滚动。
我知道这是浏览器驱动的,但是是否有一些 JS 事件可以处理这种情况并防止当我的光标在这个 div 元素上时滚动整个页面。
编辑:
我希望能够滚动整个页面,但只有当我的鼠标离开这个 div 时。
解决方案
.noscroll
{
position: fixed;
overflow-y: scroll;
width: 100%;
}
这里是 JavaScript 部分:
$('.small_content').hover(
function () {
$('body').addClass('noscroll');
},
function () {
$('body').removeClass('noscroll');
}
);
这里是工作 jsFiddle 的链接:http://jsfiddle.net/BzYcZ/3/
【问题讨论】:
-
就个人而言,这是我喜欢并经常使用的一个功能。没有它会惹恼我的废话。
-
设置
body{overflow: hidden}将阻止页面滚动。但是,为什么不在页面上设置一个包含的高度,这样就不会溢出来隐藏? -
@Joe 我更新了我的问题,因为我希望能够滚动正文。这意味着应该根据鼠标位置涉及某种 JavaScript,从而禁用正文滚动功能。
标签: javascript css scroll overflow