jquery实现网页下拉后,元素固定到顶部效果。
一个本身不在页面顶部的元素,当页面滚动到其所在位置时,变为顶部固定。
没有找到此类插件,于是自己写了个, 很简单,没几行代码,兼容IE6+,firefox,safari,chrome
具体效果见右侧分类widget。
附代码如下
$(".fixed-content").each(function(){
var o = this;
var timeout = null;
var offset_top = $(o).offset().top;
$(o).css({
"width": $(o).width(),
"height": $(o).height()
});
$(window).scroll(function(){
clearTimeout(timeout);
if($("body").get(0).getBoundingClientRect().top <= -(offset_top + 10)){
if($.browser.msie && $.browser.version < 8){
timeout = setTimeout(function(){
$(o).css({
"position": "absolute",
"z-index": 1000,
"left": $(o).offset().left
})
.animate({
"top": - $("body").get(0).getBoundingClientRect().top
})
.addClass("col-fixed");
}, 200);
}else{
$(o).css({
"position": "fixed",
"top": 0,
"z-index": 1000,
"left": $(o).offset().left
})
.addClass("col-fixed");
}
}else{
$(o).css({
"position": "relative",
"top": 0,
"left": 0
})
.removeClass("col-fixed");
}
});
});