<!DOCTYPE?html>
<html>
<head>
<meta?charset="utf-8">
<title>share</title>
<style>
body,div,span{
margin:?0;
padding:?0;
}
#div1{
width:?200px;
height:?200px;
background:?red;
filter:?alpha(opacity:30);
opacity:?0.3;
}
</style>
<script>
window.onload=function(){
var?oDiv=document.getElementById("div1");
oDiv.onmouseover=function(){
startChange(100);
}
oDiv.onmouseout=function(){
startChange(30);
}
}
var?timer=null;
var?alpha=30;
function?startChange(iTarget){
var?oDiv=document.getElementById("div1");
clearInterval(timer);
timer=setInterval(function(){
var?speed=0;
if(alpha>30){
speed=-10;
}else{
speed=10;
}
if(alpha==iTarget){
clearInterval(timer);
}else{
alpha=alpha+speed;
oDiv.style.filter="alpha(opacity:"+alpha+")";
oDiv.style.opacity=alpha/100;
}
},30);
}
</script>
</head>
<body>
<div?id="div1"></div>
</body>
</html>
2015-08-31
把if(alpha>30){}改成if(alpha>iTarget){}
起初你的alpha是30,之后自增10,alpha是40,過了30毫秒再調(diào)用一次函數(shù),此時alpha〉30,speed為-10,之后alpha自減10,又變成30,所以總是循環(huán)再0.3和0.4之間