实在是不知道}哪里错了?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
body,ul{
margin: 0;
padding: 0;
}
ul,li{
list-style: none;
}
ul li{
width: 200px;
height: 100px;
background: yellow;
margin-bottom: 20px;
border:4px solid #ddd;
filter: alpha(opacity: 30);
opacity: 0.3;
}
</style>
<script>
window.onload = function(){
// var aLi =document.getElementsByTagName('li');
// for (var i = 0; i < aLi.length; i++) {
// aLi[i].timer = null;
// aLi[i].onmouseover =function(){
// startMove(this,400);
// }
// aLi[i].onmouseout =function(){
// startMove(this,200);
// }
// }
// alert(Math.round(3.4));
var Li1 =document.getElementById('li1');
var Li2 =document.getElementById('li2');
Li1.onmouseover =function(){
startMove(this,'opacity',100);
}
Li1.onmouseout =function(){
startMove(this,'opacity',30);
}
function getStyle(obj,attr){
if (obj.currentStyle) {
return obj.currentStyle[attr];
}
else{
return getComputedStyle(obj,false)[attr];
}
}
var alpha =30;
function startMove(obj,attr,iTarget){
clearInterval(obj.timer);
obj.timer =setInterval(function(){
var icur = 0;
if (attr =='opacity') {
icur = Math.round( parseFloat(getStyle(obj.attr))*100);
}
else{
icur = parseInt(getStyle(obj,attr));
}
var speed =(iTarget-icur)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if (icur==iTarget) {
clearInterval(obj.timer);
}
else{
if (attr=='opacity') {
obj.style.filter='alpha(opacity:'+(icur+speed)+')';
obj.style.opacity =(icur+speed)/100;
}
else{
obj.style[attr] =icur+speed+'px';
}
}
},30)
}
</script>
</head>
<body>
<ul>
<li id="li1" style="opacity:0.3;"></li>
</ul>
</body>
</html>