<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GUOYU-多物体运动</title>
<style type="text/css">
div {
width: 100px;
height: 60px;
background: red;
margin: 10px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<script type="text/javascript">
var aDiv = document.getElementsByTagName('div');
for (var i = 0; i < aDiv.length; i++) {
aDiv[i].timer = null;
aDiv[i].onmouseover = function() {
startMove(this, 400);
};
aDiv[i].onmouseout = function() {
startMove(this, 100);
};
}
var timer = null;
function startMove(obj, iTarget) {
clearInterval(obj.timer);
obj.timer = setInterval(function() {
var speed = (iTarget - obj.offsetWidth) / 6;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (obj.offsetWidth == iTarget) {
clearInterval(timer);
} else {
obj.style.width = obj.offsetWidth + speed + 'px';
}
}, 30)
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GUOYU-多物体运动</title>
<style type="text/css">
div {
width: 100px;
height: 100px;
background: red;
margin: 20px;
float: left;
filter: alpha(opacity:30);
opacity: 0.3;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<script type="text/javascript">
var aDiv = document.getElementsByTagName('div');
for (var i = 0; i < aDiv.length; i++) {
aDiv[i].alpha = 30;
aDiv[i].onmouseover = function() {
startMove(this, 100);
};
aDiv[i].onmouseout = function() {
startMove(this, 30);
}
}
function startMove(obj, iTarget) {
clearInterval(obj.timer);
obj.timer = setInterval(function() {
var speed = (iTarget - obj.alpha) / 20;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (iTarget == obj.alpha) {
clearInterval(obj.timer);
} else {
obj.alpha += speed;
obj.style.filter = 'alpha(opacity:' + obj.alpha + ')';
obj.style.opacity = obj.alpha / 100;
}
}, 30);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GUOYU-多物体运动</title>
<style type="text/css">
div {
width: 100px;
height: 100px;
background: red;
margin: 20px;
float: left;
filter: alpha(opacity:30);
opacity: 0.3;
border: 1px solid green;
}
</style>
</head>
<body>
<div id="div1">变高</div>
<div id="div2">变宽</div>
<div id="div3">I have a dream</div>
<div id="div4"></div>
<script type="text/javascript">
var oDiv1 = document.getElementById('div1');
oDiv1.onmouseover = function() {
startMove(this, 'height', 400);
};
oDiv1.onmouseout = function() {
startMove(this, 'height', 100);
};
var oDiv2 = document.getElementById('div2');
oDiv2.onmouseover = function() {
startMove(this, 'width', 400);
};
oDiv2.onmouseout = function() {
startMove(this, 'width', 100);
};
var oDiv3 = document.getElementById('div3');
oDiv3.onmouseover = function() {
startMove(this, 'fontSize', 40);
};
oDiv3.onmouseout = function() {
startMove(this, 'fontSize', 16);
};
var oDiv4 = document.getElementById('div4');
oDiv4.onmouseover = function() {
startMove(this, 'borderWidth', 40);
};
oDiv4.onmouseout = function() {
startMove(this, 'borderWidth', 2);
};
function getStyle(obj, name) {
if(obj.currentStyle) {
return obj.currentStyle[name];
} else {
return getComputedStyle(obj, false)[name];
}
}
function startMove(obj, attr, iTarget) {
clearInterval(obj.timer);
obj.timer = setInterval(function() {
var cur = parseInt(getStyle(obj, attr));
var speed = (iTarget - cur) / 8;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if (cur == iTarget) {
clearInterval(obj.timer);
} else {
cur += speed;
obj.style[attr] = cur + 'px';
}
}, 30);
}
</script>
</body>
</html>