问什么鼠标移出时透明度变不了啊啊啊?

来源:4-4 任意属性值(二)

明日之渺

2017-05-15 17:33


<!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>

body,ul{marging: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 Li1=document.getElementById("li1");

Li1.onmouseover=function(){

startMove(this,"opacity",100);

}

Li1.onmouseout=function(){

startMove(this,"opacity",100);

}

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"></li>

</ul>

</body>

</html>


写回答 关注

1回答

  • 明日之渺
    2017-05-15 17:42:28

    哈哈,自己发现了,移出透明度忘记改为30了,郁闷。。。。

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113931 学习 · 1443 问题

查看课程

相似问题