
效果是 :滚动条滚动到一定程度后左侧栏才会触发开始随着浮动,左侧能滚动的范围也就是右侧高度,如:

//内页侧边栏固定悬浮
function side_absolute(left,right,wrap){
var about_l_height=left.outerHeight(true);
var about_con=right.outerHeight(true);
function run(){
if( about_con>about_l_height ){ //右侧的内容高度比左侧导航高时才触发
if( (($(window).scrollTop()-150)+about_l_height)>=about_con && $(window).height()>about_l_height){ //判断是否到容器底部了
left.css({position:'relative',left:'0px',top:about_con-about_l_height});
}else if($(window).scrollTop()>=150 && $(window).height()>about_l_height && about_con>about_l_height){
right.addClass('float_r');
wrap.css({position:'relative'});
left.css({position:'fixed',left:wrap.offset().left,top:0});
}else if( $(window).scrollTop()<150 ) {
left.css({position:'static',left:'0px'});
}else if($(window).height()<about_l_height){
left.css({position:'static',left:'0px'});
}
}
}
$(window).scroll(function(){
run()
});
$(window).resize(function(){
run()
});
if( left.css('position')=='fixed' ){
$(window).resize(function(){
left.css({left:wrap.offset().left});
});
}else{
left.css({left:'0px'});
}
}
side_absolute($('.about_l'),$('.about_l').next(),$('#about_div'));
$(window).resize(function(){
side_absolute($('.about_l'),$('.about_l').next(),$('#about_div'));
});