<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
#b1,#b2,#b3{
width: 100px;
height: 100px;
background: pink;
}
#b2{
background: deeppink;
margin: 10px 0;
}
</style>
<body>
<div id="b1"></div>
<div id="b2"></div>
<div id="b3"></div>
</body>
</html>
<script type="text/javascript">
//鼠标移动到某个div上 该div的宽度变成300 离开该div
var divs = document.querySelectorAll('div');
for (var i = 0; i < divs.length; i++) {
divs[i].onmouseover = function(){
animate(this,300);
}
divs[i].onmouseout = function(){
animate(this,100);
}
}
function animate(obj,target){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var speed = (target - obj.offsetWidth)/10;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if(obj.offsetWidth == target){
clearInterval(obj.timer);
}else{
obj.style.width = obj.offsetWidth + speed + 'px';
}
},30)
}
</script>