jquery - 阻止 body 滚动的更好方法?

标签 jquery css

我正在尝试构建一个布局,当侧边栏滚动时,当您到达侧边栏底部时,主要内容区域不会随之滚动。

我能想到实现此目的的唯一方法是在将鼠标悬停在侧边栏上时向 body/html 添加一个类,该类将主体的溢出设置为隐藏,从而停止飞走滚动。

$(document).ready(function () {
            $(".sidebar").hover(function () {
                $('body,html').addClass("special-overflow");
            }, function () {
                $('body,html').removeClass("special-overflow");
            });
        });

这是基本布局的 jsfiddle。 http://jsfiddle.net/V7vaK/

这样做的问题是,当您将鼠标悬停在侧边栏上时,侧边栏会消失,并且会晃动页面。 我已经在谷歌上搜索了一段时间,但我看不到,也无法想出更好的解决方案。

有人能建议比这更优雅的东西吗?

最佳答案

如果我理解得很好,这可能是您尝试做的另一种方法:

http://cdpn.io/uzrpF

希望对您有帮助!

米格尔。

关于jquery - 阻止 body 滚动的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15900569/

相关文章:

javascript - 防止按键事件中输入字段出现空格

javascript - 带缩略图和两个标题的图片库

javascript - React 应用程序中带有动态文本的样式化组件

html - 使用 CSS Grid 将最后一项固定在水平导航菜单的右侧

javascript - jQuery 选择/缩放/复制/粘贴/裁剪图片插件

html - 换行后删除内联 block 元素的边距

jquery - 设置高度jquery的问题

javascript - 在 JavaScript 中预加载 SVG

jQuery 打字机效果

javascript - 花哨的东西