!DOCTYPE htmlhtml head meta charset="utf-8" / titlezzzz/title style *{ margin: 0; padding: 0; } body{ height: 2000px; } #box{ position: absolute; width: 140px; height: 150px; left: -140px; background-color: greenyellow; bottom:0; } #box2{ p
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>zzzz</title>
<style>
*{
margin: 0;
padding: 0;
}
body{
height: 2000px;
}
#box{
position: absolute;
width: 140px;
height: 150px;
left: -140px;
background-color: greenyellow;
bottom:0;
}
#box2{
position: absolute;
width: 30px;
height: 60px;
text-align: center;
right: -30px;
top: 45px;
padding-top: 6px;
border-bottom-right-radius: 6px;
border-top-right-radius: 6px;
background-color: deepskyblue;
color:white;
}
</style>
<script type="text/javascript">
window.onload=function(){
var ob=document.getElementById("box");
var ob2=document.getElementById("box2");
ob.onmouseover=function(){
startMove(0);
}
ob.onmouseout=function(){
startMove(-140)
}
}
window.onscroll=function(){
var ob=document.getElementById("box");
var scrolltop=document.documentElement.scrollTop||document.body.scrollTop;
startMove2(parseInt((document.documentElement.clientHeight||document.body.clientHeight-ob.offsetHeight)/2+scrolltop-90));
}
var timer2=null;
var speed2=0;
function startMove2(target){
var ob=document.getElementById("box");
clearInterval(timer2); //清除定时器,确保每次只有唯一定时器运行
timer2=setInterval(function(){
var dis=target-ob.offsetTop;
if(dis>0){
speed2=Math.ceil(dis/3);
}
else if(dis<0){
speed2=Math.floor(dis/3)
}
else{
clearInterval(timer2);
}
ob.style.top=ob.offsetTop+speed2+'px';
},30);
}
var timer=null;
var speed=0;
function startMove(target){
var ob=document.getElementById("box");
clearInterval(timer); //清除定时器,确保每次只有唯一定时器运行
timer=setInterval(function(){
var dis=target-ob.offsetLeft;
if(dis>0){
speed=Math.ceil(dis/5);
}
else if(dis<0){
speed=Math.floor(dis/5)
}
else{
clearInterval(timer);
}
ob.style.left=ob.offsetLeft+speed+'px';
},30);
}
</script>
</head>
<body>
<div id="box">
<div id="box2">分享到</div>
</div>
</body>
</html>
