html - 侧边栏滚动结束时防止内容 div 滚动

标签 html css

所以我有这个侧边栏,当我向下滚动到末尾并继续滚动时,它会向下滚动内容 div。如何让侧边栏 div 滚动只影响他的 div 而忽略内容 div?

这是它的样子:

page layout

* {padding:0;margin:0}
html {min-height:1000%}

#sidebar {
  overflow: auto;
  position: fixed;
  width: 200px;
  height: 200px;
}
<div id="sidebar">
  <p>Lorem Ipsum turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed</p>
</div>

最佳答案

如果您对 javascript 解决方案持开放态度,则可以将事件监听器绑定(bind)到边栏,当您到达其底部时停用滚动事件。结果可以在this JSFiddle中测试.

var sidebar = document.getElementById('sidebar');
sidebar.addEventListener('wheel', function(e) {
    if(e.deltaY > 0 && this.scrollTop >= this.clientHeight) {
        e.preventDefault();
    }
});

注意:如果您要将此代码段用于实时站点,则可能需要对其进行一些测试和调整。我还没有真正测试过浏览器的兼容性,您可能想要添加对触摸设备的支持。

关于html - 侧边栏滚动结束时防止内容 div 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47187021/

相关文章:

html - 是否有一个库可以在不受支持的浏览器上禁用该网站?

javascript - 查找最近的最外层导航(多个嵌套导航元素)

css - jQuery UI 可拖动在 IE7 中无法正常工作。适用于 IE8

css - 多个高度框都在顶部

html - 仅在小型设备上添加行 - bootstrap

html - 让我的网站标志适应不同的分辨率

php - 显示上传/POST 之前从文件加载的图像

html - tumblr 主题上的 block 引用边框

html - 复选框右对齐但下方出现另一个复选框

html - 根据文本动态改变按钮的大小?