<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
div{
height: 200px;
width: 200px;
background: red;
margin: 10px;
float: left;
/*border: 2px solid black;*/
}
</style>
</head>
<body>
<script>
function getStyle(obj,name){
if (obj.currentStyle) {
return obj.currentStyle.name;
} else{
return getComputedStyle(obj,false)[name];
}
}
function moveStart(obj,attr,iTarget){
clearInterval(obj.times);
obj.times = setInterval(function(){
var cur = parseInt(getStyle(obj,attr));
//var oDiv = document.getElementsByTagName("div");
var speed = (iTarget-cur)/6;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(iTarget==cur){
clearInterval(obj.times)
}else{
obj.style['attr'] = cur +speed+"px";
}
},30)
window.onload = function(){
var oDiv1 = document.getElementById("div1");
var oDiv2 = document.getElementById("div2");
oDiv1.onmouseover= function(){
moveStart(this,'height',400)
}
oDiv1.onmouseout= function(){
moveStart(this,'height',200)
}
oDiv2.onmouseover= function(){
moveStart(this,'width',400)
}
oDiv2.onmouseout= function(){
moveStart(this,'width',200)
}
}
}
</script>
<div id="div2">高度</div>
<div id="div2">宽度</div>
</body>
</html>
obj.style['attr']
中的变量不要加引号最终修改代码: