黄舟2017-04-10 13:11:37
stickUp
http://www.bootcss.com/p/stickup/
其实我也自己写过:
*** 需要引入jQuery ***
$(document).scroll(function (){
//固定SideBar
if ($(document).scrollTop() > '180') {
$('#sidebar').offset({top:$(document).scrollTop()+10});
}else if($(document).scrollTop() <= '180') {
$('#sidebar').offset({top:191});
};
});
监听scroll事件,判断与浏览器顶部的距离,加以操作。代码中的三个数字请自行确定,也可能不需要。
PHP中文网2017-04-10 13:11:37
http://twbs.github.io/bootstrap/javascript/#affix
bootstrap affix,这个插件强大之处在于可以同时 top和bottom 定位,
参见官方文档左侧导航效果,
我之前也发现了一个需要注意的问题,
http://segmentfault.com/q/1010000000362152
如果只是bottom 或者top中的一个定位,只判断$(window).scrollTop()就可以了,同时需要top就bottom定位的话用affix插件就方便了
PHP中文网2017-04-10 13:11:37
这种效果叫 sticky,这种动作叫 pin。 可以用更新 top 的方式来实现,也可以用改变 position 为 fixed 的方式来实现。fixed 的方法在 chrome 里面可能会出现元素短暂消失的情况,可能要给元素加一个 css 属性:-webkit-transform: rotateZ(0); 强制浏览器使用硬件加速,来解决这个问题。
大家讲道理2017-04-10 13:11:37
这个是定位,用position
的fixed
属性可以实现。
一个固定定位(position属性的值为fixed)元素会相对于视窗来定位,这意味着即便页面滚动,它还是会停留在相同的位置。和 relative
一样, top
、 right
、 bottom
和 left
属性都可用。