吸住底部菜单

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"});
    }
}

 

posted on 2014-03-06 18:56  meeming  阅读(193)  评论(0编辑  收藏  举报



Fork me on GitHub