<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>多物体运动</title>
<style type="text/css">
*{
padding:0;
margin:0;
}
ul{
text-decoration: none;
}
ul li{
width:200px;
height: 100px;
background: yellow;
margin-top: 10px;
}
</style>
<!-- 缓冲运动
设置定时器
1、定义运动速度(*)
2、临界值判断(*)
3、多个物体不能共用同一个定时器(*)
-->
<script type="text/javascript">
window.onload = function(){
var oUl = document.getElementsByTagName('ul')[0];
var ali = oUl.getElementsByTagName('li');
for(var i = 0;i<ali.length;i++){ //遍历li
ali[i].onmouseover = function(){
move(this,400);
}
ali[i].onmouseout = function(){
move(this,200);
}
}
}
// var timer = null;
var speed = 0;
/*
obj运动对象
stopPoint停止点
*/
function move(obj,stopPoint){
//var div1 = document.getElementById('div1');
clearInterval(obj.timer);
obj.timer = setInterval(function(){
if(stopPoint >= obj.offsetWidth){
speed = Math.ceil((stopPoint-obj.offsetWidth)/7);
}else{
speed = Math.floor((stopPoint-obj.offsetWidth)/7);
}
console.log(speed);
//临界值判断,当运动到临界值时停止 清除定时器
if(obj.offsetWidth == stopPoint){
clearInterval(obj.timer);
}else{
obj.style.width = obj.offsetWidth+speed+'px'; //运动
}
},30);
}
</script>
</head>
<body>
<p>当鼠标移入时,长度变为两倍,移出时,恢复到原来的长度</p>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</body>
</html>