sen*_*sor 6 javascript css scroll overflow
这是jsFiddle以便更好地理解:http://jsfiddle.net/BzYcZ/
我有一些有滚动条的div.
我想要的是当我使用鼠标滚动到达div的末尾时停止滚动而不是滚动整个页面.
发生的事情是,当我到达div的末尾时,整个页面开始滚动.
我知道这是浏览器驱动的,但是有一些JS事件可以处理这种情况并阻止滚动整个页面,因为我的光标在这个div元素上.
编辑:
我想能够滚动整个页面,但只有当我的鼠标不在这个div时.
解
.noscroll
{
position: fixed;
overflow-y: scroll;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
这是JavaScript部分:
$('.small_content').hover(
function () {
$('body').addClass('noscroll');
},
function () {
$('body').removeClass('noscroll');
}
);
Run Code Online (Sandbox Code Playgroud)
这里是工作jsFiddle的链接:http://jsfiddle.net/BzYcZ/3/
你可以使用 jQuery 并冻结 body/html 的任何滚动条
\n\n(顺便说一下,jQuery 是一个 Javascript 库,它使编码变得更容易、更快捷: http: //jquery.com/)
\n\n例子:
\n\n$(\'.yourdivclass\').hover(\nfunction () {\n $(\'html, body\').css("overflow", "hidden");\n},\nfunction () {\n $(\'html, body\').css("overflow", "auto");\n});\nRun Code Online (Sandbox Code Playgroud)\n\n更新:
\n\n要保留滚动条并仅禁用它们,请遵循以下解决方案:仅禁用滚动而不隐藏它?
\n\n示例如下: http: //jsfiddle.net/BzYcZ/2/
\n\n在这里更新了 JavaScript:
\n\n$(\'.small_content\').hover(\nfunction () {\n $(\'body\').addClass(\'noscroll\');\n},\nfunction () {\n $(\'body\').removeClass(\'noscroll\');\n});\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n\n额外的CSS:
\n\nbody.noscroll\n{\n position: fixed; \n overflow-y: scroll;\n width: 100%;\n}\nRun Code Online (Sandbox Code Playgroud)\n