使用jquery.waypoints插件,您可以轻松创建粘性元素。其sticky elements demo显示的导航栏默认位于页面顶部稍下方,然后具有以下行为: a)当用户向下滚动并且导航栏击中视口的顶部时,它会粘在那里 b)当用户向上滚动到页面顶部时,导航栏将返回其正常位置。
我正在尝试做类似但有些相反的事情,这与scribd导航栏完全相同。从this scribd page的最底部开始,慢慢向上滚动以查看效果。
这是怎么做到的?我假设航点会促进它。感谢。
答案 0 :(得分:0)
这是我想出的解决方案,但仍然对其他实现感兴趣。
JS:
//#bottomOfEl is the element you want to stick to the bottom of
$("#bottomOfEl").waypoint(function(ev, dir){
$("#navbar").toggleClass('sticky', dir === "up");
ev.stopPropagation();
}, {
offset: function() {return $.waypoints('viewportHeight')
- $(this).height()
- $("#navbar").height();
}
})
的CSS:
#navbar {
height: 40px;
width: 500px;
z-index: 10;
}
.sticky {
position: fixed;
bottom: 0px;
}