<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> 分享到侧边栏</title>
<style type="text/css">
*{
margin:0;
padding:0;
}
.box{
width: 800px;
margin:100px auto;
background: #ccc;
height: 800px;
}
#div1{
width: 150px;
height: 200px;
background: green;
position: absolute;
left:-150px;
top: 50px;
}
#div1 span{
position: absolute;
width: 20px;
height: 60px;
line-height: 20px;
background: blue;
right:-20px;
top:70px;
}
</style>
</head>
<body style="position: relative;">
<div class="box">
<div id="div1">
<span>分享到</span>
</div>
</div>
</body>
<!-- <script type="text/javascript" src="js/jquery-1.12.2.min.js"></script> -->
<script type="text/javascript">
window.onload=function()
{
var oDiv=document.getElementById("div1");
var timer=null;
//简化过程1
/*oDiv.onmouseover=function()
{
startMove();
};
oDiv.onmouseout=function()
{
startMove2();
};*/
//简化过程2
/*oDiv.onmouseover=function()
{
startMove(10,0);
};
oDiv.onmouseout=function()
{
startMove(-10,-150);
};*/
//简化过程3
oDiv.onmouseover=function()
{
startMove(0);
};
oDiv.onmouseout=function()
{
startMove(-150);
};
//简化过程1 把不同的地方用参数传进来
/*function startMove()
{
//var oDiv=document.getElementById("div1");
clearInterval(timer);
timer=setInterval(function()
{
if(oDiv.offsetLeft==0){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft+10+‘px‘;
}
},30);
};
function startMove2()
{
//var oDiv=document.getElementById("div1");
clearInterval(timer);
timer=setInterval(function()
{
if(oDiv.offsetLeft==-150){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft-10+‘px‘;
}
},30);
};*/
//简化过程2
/*function startMove( speed,iTarget)
{
var oDiv=document.getElementById("div1");
clearInterval(timer);
timer=setInterval(function()
{
if(oDiv.offsetLeft==iTarget){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft+speed+‘px‘;
}
},30);
};
*/
//简化过程3 根据目标点判断速度的正负
function startMove(iTarget)
{
var oDiv=document.getElementById("div1");
clearInterval(timer);
timer=setInterval(function()
{
var speed=0;
if(oDiv.offsetLeft>iTarget){
speed=-10;
}else{
speed=10;
}
if(oDiv.offsetLeft==iTarget){
clearInterval(timer);
}else{
oDiv.style.left=oDiv.offsetLeft+speed+‘px‘;
}
},30);
};
};
</script>
</html>