javascript - 删除滚动条但不删除滚动功能

标签 javascript jquery html css

<分区>

我知道你可以定义 overflow:hidden;在 HTML 的主体上删除滚动条,但我希望仍然能够使用鼠标上的箭头或滚轮滚动。

在此先感谢您的帮助。

编辑: 感谢您提供有关悬停滚动条和自定义栏的所有建议。也感谢您对删除滚动条影响用户体验的所有担忧。我会详细说明一下,以便您解释我的出发点。

我有一个圆形页面(如果您使用滚轮或箭头按钮滚动,当它到达底部时它会重置到页面顶部并重新开始)。永无止境的循环。滚动条对此有影响,因为它是有限的,当它到达底部并重置到顶部时,用户鼠标仍位于页面底部,这意味着当他们移动它时,页面顶部和底部之间会出现一些闪烁。

我打算去掉滚动条,用窗口顶部和底部的箭头按钮代替。这就是为什么我想完全删除滚动条但保留滚动功能的原因。

最佳答案

有一个名为 jscrollpane 的 jQuery 库 http://jscrollpane.kelvinluck.com/#examples可以修改很多。

但是如果你只想隐藏滚动条,你也可以把这个滚动条推到看不见的地方:http://jsfiddle.net/H27BK/

<div id="content">
    <div id="scrollable"> ... ... ... </div>
</div>

使用 CSS

#content {
    position: relative;
    width: 200px;
    height: 150px;
    border: 1px solid black;
    overflow: hidden;
}
#scrollable {
   height: 150px;   
   width: 218px; /* #content.width + 18px */
   overflow-y: scroll;    
}

这一切都基于 18 像素的条形宽度。


所以我们可以做一些 javascript 滚动条宽度检测脚本,或者简单地添加另一个我们放在可滚动 div 前面的 div。

http://jsfiddle.net/uNzEz/

HTML 现在是:

<div id="content">
<div id="scrollable">
<div id="txt"> ... ... ...
</div></div></div>

像这样的 CSS:

#content {
    position: relative;
    width: 200px;
    height: 150px;
    border: 1px solid black;
    overflow: hidden;
}
#scrollable {
   height: 150px;   
   width: 240px; /* the bar-width can be theoretical 240px - 200px = 40px */
   overflow-y: scroll;    
}
#txt {
    width: 200px;
}

关于javascript - 删除滚动条但不删除滚动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13317364/

相关文章:

javascript - 单击下拉菜单时如何动态添加输入类型

javascript - plupload:从头开始重新上传(分块)

jquery - 推特 Bootstrap 折叠选项卡问题

html - 当鼠标悬停在下拉菜单上时,CSS 封面图像会调整大小

javascript - 隐藏第一个表单,然后显示第二个表单。第二个表单执行多次提交

javascript - 当我使用的 TypeScript 定义文件缺少单个定义时,我该怎么办?

javascript - 如何在设置 dangerouslysetinnerHtml 时从 ReactJS 中的 html 字符串呈现 react 组件?

javascript - 在提交任何内容之前必须按 Enter(或按钮)两次

javascript - 使用 JavaScript 切换 Google 字体效果

javascript - 如何像 youtube 那样欺骗 HTML5 视频标签中的 src 属性