div随滚动条滚动到页面头部固定不动然后距离底部多少像素还原
.div1{正常布局}.div2{top:0px;z-index:999;position:fixed;_position:absolute;_top:expressio...
.div1{正常布局}
.div2{top:0px;z-index:999;position:fixed;_position:absolute;_top:expression(documentElement.scrollTop + 0 + "px");_margin-top:250px;}
<script type="text/javascript">
function buffer(a,b,c){
var d;
return function(){
if(d)
return;
d=setTimeout(function(){
a.call(this),d=undefined
},b)
}
}
(function(){
function e(){
var d=document.body.scrollTop||document.documentElement.scrollTop;
d>b?(a.className="div1 div2 ",c&&(a.style.top=d-b+"px")):a.className="div1 "
}
var a=document.getElementById("fixed1");
if(a==undefined)
return!1;
var b=0,c,d=a;
while(d)b+=d.offsetTop,d=d.offsetParent;
c=window.ActiveXObject&&!window.XMLHttpRequest;
if(!c||!0)
window.onscroll=buffer(e,0,this)
})();
</script>
我有一个js div1滚动到页面头部之后class切换成div2固定在头部不动
但是我的页底很长 滚动到最下面的时候会挡住我的页底 我想让他滚动到距离页底多少像素的时候class再还原切换回div1 展开
.div2{top:0px;z-index:999;position:fixed;_position:absolute;_top:expression(documentElement.scrollTop + 0 + "px");_margin-top:250px;}
<script type="text/javascript">
function buffer(a,b,c){
var d;
return function(){
if(d)
return;
d=setTimeout(function(){
a.call(this),d=undefined
},b)
}
}
(function(){
function e(){
var d=document.body.scrollTop||document.documentElement.scrollTop;
d>b?(a.className="div1 div2 ",c&&(a.style.top=d-b+"px")):a.className="div1 "
}
var a=document.getElementById("fixed1");
if(a==undefined)
return!1;
var b=0,c,d=a;
while(d)b+=d.offsetTop,d=d.offsetParent;
c=window.ActiveXObject&&!window.XMLHttpRequest;
if(!c||!0)
window.onscroll=buffer(e,0,this)
})();
</script>
我有一个js div1滚动到页面头部之后class切换成div2固定在头部不动
但是我的页底很长 滚动到最下面的时候会挡住我的页底 我想让他滚动到距离页底多少像素的时候class再还原切换回div1 展开
1个回答
推荐于2016-11-15
展开全部
获取div的高度:offsetTop和滚动条滚动的高度document.scrollTop,
if(div的高度<滚动条的高度){这里设置div的属性position为fixed,top:0}else{这里设置div高度为原来的高度}
if(div的高度<滚动条的高度){这里设置div的属性position为fixed,top:0}else{这里设置div高度为原来的高度}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询