Javascript智能社教程中关于scroll的右侧浮动框





无标题文档

#div1{width:100px; height:150px; background:red; position:absolute;
right:0;bottom:0;}

``` window.οnscrοll=function(){ var oDiv=document.getElementById('div1'); var scrollTop=document.documentElement.scrollTop||document.body.scrollTop; //oDiv.style.top=document.documentElement.clientHeight-oDiv.offsetHeight+scrollTop+'px'; startMove(document.documentElement.clientHeight-oDiv.offsetHeight+scrollTop); }; ------------------- ```解释:为什么oDiv.style.top等于那一长串:第一部分document.documentElement.clientHeight代表可见区域高度,大概就是浏览器显示网页的那个高度,减掉Div的高度,给div留出空间,再加上scrollTop,scrollTop是指被隐藏在可见区域的滚动条的高度,这样加上去之后,不管滚动多少,隐藏的部分都会被加入到oDiv.style.top,如此便能固定在右下角的位置。我是小白,想了好一会才把这个想明白。 var timer=null; function startMove(iTarget){ var oDiv=document.getElementById('div1'); clearInterval(timer); timer=setInterval(function(){ var speed=(iTarget-oDiv.offsetTop)/6; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(oDiv.offsetTop==iTarget){ clearInterval(timer); }else { oDiv.style.top=oDiv.offsetTop+speed+'px'; } }, 30); }


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值