吸住底部菜单
IE7和IE8下会卡死的算法
#contact{position:relative; height:61px; width:100%; display:inline-block; background:#f9f9f9; z-index:999; }
function fixedBar(){ var _height=$(this).height()+$(this).scrollTop(); var _top=$("#contact").offset().top; var _bar=$("#contact").height(); if($(this).height()+$(this).scrollTop()<_top+_bar){ $("#contact").css({"position":"absolute","top":_height-_bar+"px","box-shadow":"0px 1px 10px 0px #cccccc"}); //$("#contact").css({"position":"fixed","bottom":"0px","box-shadow":"0px 1px 10px 0px #cccccc"}); } else{ $("#contact").css({"position":"relative","display":"block","top":"0px","box-shadow":"none"}); } }
修正后的算法,并且改为fixed定位后不会闪烁
#contact{position:relative; height:61px; width:100%; display:inline-block; background:#f9f9f9; z-index:999; bottom:0; }
var _isFrist=false;
function fixedBar(){ var _bar=$("#contact").height(); var bottomHeight=118+(48*3); if($(this).scrollTop()<=document.body.clientHeight-bottomHeight-$(window).height()){ if(_isFrist){ document.getElementById("contact").style.position="fixed"; } }else{ _isFrist=true; if($(this).scrollTop()>=document.body.clientHeight-bottomHeight-$(window).height()+_bar){ document.getElementById("contact").style.position="relative"; } //$("#contact").css({"position":"relative","display":"block","top":"0px","box-shadow":"none"}); } }