Javascript 网络应用中的iPhone风格滚动条,具有自动淡入/淡出功能

Javascript 网络应用中的iPhone风格滚动条,具有自动淡入/淡出功能,javascript,jquery,user-interface,scrollbar,Javascript,Jquery,User Interface,Scrollbar,我正在制作一个网络应用程序,非常喜欢iPhone风格的自动淡入淡出的滚动条。我只在iOS产品上见过它,但现在看来Facebook已经在聊天联系人列表中实现了它 为什么我这么喜欢它?它自动淡入淡出,因此不那么显眼,可以节省大量空间。当它显示时,它有效地位于div内部,而不是周围,再次有效地利用了空间 有什么办法吗?不是Matteo Spinelli的“iScroll”采用了“普通”滚动条(对于iOS产品来说,它当然是iOS风格的)用于DIV 我曾尝试使用Jonathan Azoff的Overscr

我正在制作一个网络应用程序,非常喜欢iPhone风格的自动淡入淡出的滚动条。我只在iOS产品上见过它,但现在看来Facebook已经在聊天联系人列表中实现了它

为什么我这么喜欢它?它自动淡入淡出,因此不那么显眼,可以节省大量空间。当它显示时,它有效地位于div内部,而不是周围,再次有效地利用了空间

有什么办法吗?不是Matteo Spinelli的“iScroll”采用了“普通”滚动条(对于iOS产品来说,它当然是iOS风格的)用于DIV

我曾尝试使用Jonathan Azoff的Overscroll Jquery插件,但我似乎无法让它完全正常工作。我在mouseenter上成功地让滚动条自动淡入淡出(就像Facebook一样),但不同浏览器的滚动行为有所不同(在OSX上,它似乎在速度和惯性方面都超越了浏览器的滚动行为)。快速浏览一下源代码似乎与此结论一致

有没有其他插件/库,我可以用来精确地保持浏览器的滚动行为,但有自动淡入淡出的滚动条,看起来像iOS风格


编辑:决定自己制作。请参阅下面的答案。

很抱歉,您花了这么长时间才得到如此简单问题的答案。。。这就是我想你要找的东西。然后,对于淡出,只需使用这样一个简单的函数

首先是HTML

<div id="scrollbar1" style="visibility: hidden">
    <div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>
    <div class="viewport">
        <div class="overview">
            <h3>Magnis dis parturient montes</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut vitae velit at velit pretium sodales. Maecenas egestas imperdiet mauris, vel elementum turpis iaculis eu. Duis egestas augue quis ante ornare eu tincidunt magna interdum. Vestibulum posuere risus non ipsum sollicitudin quis viverra ante feugiat. Pellentesque non faucibus lorem. Nunc tincidunt diam nec risus ornare quis porttitor enim pretium. Ut adipiscing tempor massa, a ullamcorper massa bibendum at. Suspendisse potenti. In vestibulum enim orci, nec consequat turpis. Suspendisse sit amet tellus a quam volutpat porta. Mauris ornare augue ut diam tincidunt elementum. Vivamus commodo dapibus est, a gravida lorem pharetra eu. Maecenas ultrices cursus tellus sed congue. Cras nec nulla erat.</p>

            <p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque eget mauris libero. Nulla sit amet felis in sem posuere laoreet ut quis elit. Aenean mauris massa, pretium non bibendum eget, elementum sed nibh. Nulla ac felis et purus adipiscing rutrum. Pellentesque a bibendum sapien. Vivamus erat quam, gravida sed ultricies ac, scelerisque sed velit. Integer mollis urna sit amet ligula aliquam ac sodales arcu euismod. Fusce fermentum augue in nulla cursus non fermentum lorem semper. Quisque eu auctor lacus. Donec justo justo, mollis vel tempor vitae, consequat eget velit.</p>

            <p>Vivamus sed tellus quis orci dignissim scelerisque nec vitae est. Duis et elit ipsum. Aliquam pharetra auctor felis tempus tempor. Vivamus turpis dui, sollicitudin eget rhoncus in, luctus vel felis. Curabitur ultricies dictum justo at luctus. Nullam et quam et massa eleifend sollicitudin. Nulla mauris purus, sagittis id egestas eu, pellentesque et mi. Donec bibendum cursus nisi eget consequat. Nunc sit amet commodo metus. Integer consectetur lacus ac libero adipiscing ut tristique est viverra. Maecenas quam nibh, molestie nec pretium interdum, porta vitae magna. Maecenas at ligula eget neque imperdiet faucibus malesuada sed ipsum. Nulla auctor ligula sed nisl adipiscing vulputate. Curabitur ut ligula sed velit pharetra fringilla. Cras eu luctus est. Aliquam ac urna dui, eu rhoncus nibh. Nam id leo nisi, vel viverra nunc. Duis egestas pellentesque lectus, a placerat dolor egestas in. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec vitae ipsum non est iaculis suscipit.</p>

            <h3>Adipiscing risus </h3>
            <p>Quisque vel felis ligula. Cras viverra sapien auctor ante porta a tincidunt quam pulvinar. Nunc facilisis, enim id volutpat sodales, leo ipsum accumsan diam, eu adipiscing risus nisi eu quam. Ut in tortor vitae elit condimentum posuere vel et erat. Duis at fringilla dolor. Vivamus sem tellus, porttitor non imperdiet et, rutrum id nisl. Nunc semper facilisis porta. Curabitur ornare metus nec sapien molestie in mattis lorem ullamcorper. Ut congue, purus ac suscipit suscipit, magna diam sodales metus, tincidunt imperdiet diam odio non diam. Ut mollis lobortis vulputate. Nam tortor tortor, dictum sit amet porttitor sit amet, faucibus eu sem. Curabitur aliquam nisl sed est semper a fringilla velit porta. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum in sapien id nulla volutpat sodales ac bibendum magna. Cras sollicitudin, massa at sodales sodales, lacus tortor vestibulum massa, eu consequat dui nulla et ipsum.</p>

            <p>Aliquam accumsan aliquam urna, id vulputate ante posuere eu. Nullam pretium convallis tincidunt. Duis vitae odio arcu, ut fringilla enim. Nam ante eros, vestibulum sit amet rhoncus et, vehicula quis tellus. Curabitur sed iaculis odio. Praesent vitae ligula id tortor ornare luctus. Integer placerat urna non ligula sollicitudin vestibulum. Nunc vestibulum auctor massa, at varius nibh scelerisque eget. Aliquam convallis, nunc non laoreet mollis, neque est mattis nisl, nec accumsan velit nunc ut arcu. Donec quis est mauris, eu auctor nulla. Fusce leo diam, tempus a varius sit amet, auctor ac metus. Nam turpis nulla, fermentum in rhoncus et, auctor id sem. Aliquam id libero eu neque elementum lobortis nec et odio.</p>                             
        </div>
    </div>
</div>

谢谢你的意见,孙子。我看过tinyscroll,它很不错,但我觉得还不够完美。特别是在Firefox(在我的macbook上)中,我失去了平滑的滚动(滚动最终是离散/量化的)。快速浏览代码表明,这是由于它们手动处理输入事件并根据这些事件调用滚动的方式造成的。我真的很想保留绝对原生的滚动性能和行为

所以我写了自己的jQuery插件。我已经把它开源了。还提供了一个演示。只需包含我的文件并添加3行代码:

$('#content').innerscroll({
    destination: $('#wrapper')
});
其中
content
是溢出的元素。一些次要的附加设置是,您需要为
内容
创建一个具有几乎相同维度的父元素
包装器
,但宽度稍小(以隐藏
内容
的本机滚动条)<代码>包装器也是放置新的淡入淡出的滚动条的位置


我肯定有虫子。任何评论、批评或建议都将不胜感激。

我发现Nanoscroller JS是支持这种风格的最可靠的滚动条替代品

一个非常性感的插件是。。。太糟糕了,它不是jQ-Mobi(现在是appframework)——但我猜。
$('#content').innerscroll({
    destination: $('#wrapper')
});