如何在div(Facebook风格)上创build自定义滚动条

我很好奇Facebook上的自定义滚动条是如何制作的。

它只是CSS或一些JavaScript以及?

如果是的话,我可以知道代码的样子吗?

这个问题是特定于Facebook滚动条样式,而不是如何简单地有一个自定义滚动条

这个链接应该让你开始。 长话短说,一个自定义的CSS风格的div与JavaScript结合使用来捕捉自定义div上的单击和拖动事件。 连接到这些事件的方法是滚动自定义滚动器已连接到的任何div的内容的方法。

我只是关于学习的经验 – 但是在你了解了它的工作原理之后,我build议使用一个图书馆(其中有很多)来做这件事。 这是“不要重塑”的东西之一

编辑如果你想完全跳过这个学习阶段,jassi9911发布了一个jQuery插件的链接 ,这个插件使用起来很简单。 好东西。

它是javascript和css的组合

http://jscrollpane.kelvinluck.com/basic.html

如果你正在寻找一个像滚动条的Facebook,那么我强烈build议你看看这个:

http://rocha.la/jQuery-slimScroll

Facebook使用我在滚动条插件jsFancyScroll的上下文中描述的一个非常聪明的技巧:

滚动的内容实际上由浏览器滚动机制滚动,而本地滚动条通过使用溢出定义而被隐藏,并且自定义滚动条通过双向事件监听而保持同步。

随意使用我的插件为您的项目:)

https://github.com/leoselig/jsFancyScroll/

我强烈推荐它在诸如TinyScrollbar等可怕的性能问题的插件!

我解决了这个问题,通过添加另一个div作为兄弟的滚动内容div。 高度设置为弯曲边框的半径。 如果你有一些你想要的内容,或者你想要stream入这个新的div的文本,会有devise问题。 但对于我的用户界面,这个薄的div是没有问题的。

真正的诀窍是有以下结构:

<div class="window"> <div class="title">Some title text</div> <div class="content">Main content area</div> <div class="footer"></div> </div> 

重要的CSS亮点:

  • 你的CSS将定义内容区域的高度和溢出,以允许滚动条出现。
  • 窗口类获得与标题和页脚相同的直径angular
  • 如果需要的话,阴影只会被赋予窗口类
  • 页脚div的高度与底angular的半径相同

以下是这个样子:

右下角