js实现分享到随页面滚动而滑动效果的方法
本文实例讲述了js实现分享到随页面滚动而滑动效果的方法。分享给大家供大家参考。具体如下:
页面向上向下滚动,分享到的模块随着滑动。
要点:
varscrtop=document.documentElement.scrollTop||document.body.scrollTop; varheight=document.documentElement.clientHeight||document.body.clientHeight; vartop=scrtop+(height-jb51.offsetHeight)/2; top=parseInt(top);
获得页面垂直居中的位置
上代码:
<!DOCTYPEhtml> <html> <head> <metacharset="gb2312"/> <title>无标题文档</title> <style> body{margin:0;padding:0;font:12px/1.5arial;height:2000px;} #jb51{width:100px;height:200px;line-height:200px; text-align:center;border:1psolid#ccc; background:#f5f5f5;position:absolute;left:-100px;top:0;} #jb51_tit{position:absolute;right:-20px;top:60px; width:20px;height:60px;padding:10px0; background:#06c;text-align:center; line-height:18px;color:#fff;} </style> <script> window.onload=function(){ varjb51=document.getElementById("jb51"); jb51.onmouseover=function(){ startrun(jb51,0,"left") } jb51.onmouseout=function(){ startrun(jb51,-100,"left") } window.onscroll=window.onresize=function(){ varscrtop=document.documentElement.scrollTop||document.body.scrollTop; varheight=document.documentElement.clientHeight||document.body.clientHeight; vartop=scrtop+(height-jb51.offsetHeight)/2; top=parseInt(top); startrun(jb51,top,"top") } } vartimer=null functionstartrun(obj,target,direction){ clearInterval(timer); timer=setInterval(function(){ varspeed=0; if(direction=="left"){ speed=(target-obj.offsetLeft)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(obj.offsetLeft==target){ clearInterval(timer); }else{ obj.style.left=obj.offsetLeft+speed+"px"; } } if(direction=="top"){ speed=(target-obj.offsetTop)/8; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(obj.offsetTop==target){ clearInterval(timer); }else{ obj.style.top=obj.offsetTop+speed+"px"; } document.title=obj.offsetTop+','+target+','+speed; } },30) } </script> </head> <body> <divid="jb51"> 分享到内容 <spanid="jb51_tit">分享到</span> </div> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。