问答详情
源自:4-4 任意属性值(二)

求大神指点一下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>多物体分别运动宽、高 </title>

<style type="text/css">

  *{margin:0; padding:0;}

  ul,li{list-style:none;}

  ul li{width:200px; height:100px; background:yellow; margin-bottom:20px; border:4px solid #000; 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);

}

}*/

var Li1 = document.getElementById('li1');

Li1.onmouseover = function(){

startMove(this,'opacity',100);

}

Li1.onmouseout = function(){

startMove(this,'opacity',30);

}

}


function getStyle(obj,attr){

if(obj.currenStyle){

return obj.currentStyle[attr];

}else{

return getComputedStyle(obj,false)[attr];

}

}

//var timer = null;

var alpha = 30;

function startMove(obj,attr,iTarget){

clearInterval(obj.timer);

obj.timer = setInterval(function(){

var icur = 0;

if(icur=='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'></li>

  </ul>


</body>

</html>



为什么我鼠标移入的时候opacity不变为1,移出时也不变为0.3   我已经检查了,就是看不出错在哪里,麻烦帮看看

提问者:qq_轮滑到老_04284587 2017-07-14 10:22

个回答

  • 慕妹0540389
    2017-07-16 23:11:22

    if(attr == 'opacity') {
    						icur = Math.round(parseFloat(getStyle(obj, attr)) * 100);
    					} else {
    						icur = parseInt(getStyle(obj, attr));
    					}