<!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>
<style>
#div1 {width:100px; height:200px; background:#CCC; position:absolute; left:-100px;}
#div1 span {width:20px; height:60px; line-height:20px; text-align:center; left:100px; top:70px; background:yellow; position:absolute;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.οnlοad=function ()
{
var oDiv=document.getElementById('div1');
oDiv.οnmοuseοver=function ()
{
startMove(0);
}
oDiv.οnmοuseοut=function ()
{
startMove(-100);
}
}
var timer=null;
function startMove(iTarget)
{
var oDiv=document.getElementById('div1');
clearInterval(timer);
timer=setInterval(function (){
var iSpeed=0;
if(oDiv.offsetLeft<iTarget)
{
iSpeed=10;
}
else
{
iSpeed=-10;
}
if(oDiv.offsetLeft==iTarget)
{
clearInterval(timer);
}
else
{
oDiv.style.left=oDiv.offsetLeft+iSpeed+'px';
}
}, 30);
}
</script>
</head>
<body>
<div id="div1">
<span>分享到</span>
</div>
</body>
</html>
运动框架:在开始运动时,关闭已有的定时器,将运动和停止用(if/else)隔开。
这段代码主要是基本函数的综合应用,包括offsetleft,setInterval,clearInterval,核心思想是当左边距小于目标值时,ispeed>0,左边距大于目标值时,ispeed<0,从而实现滑动。