看了又看还是没发现哪里错了,透明度没反应

来源:4-1 JS多物体动画

慕田峪6997291

2017-04-06 22:29

<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <title>透明度</title>
 <style type="text/css">
 *{margin:0;padding: 0;}
      #div1{
        float:left;
        margin:10px;
       background: red;
       height:200px;
       width:200px;
       left:0px;
       top:80px;
        opacity:0.3;
        filter:alpha(opacity:30);//IE
      }
    
 </style>

<script type="text/javascript">
     window.onload=function(){
       var oDiv=document.getElementsByTagName('div1');
       for(var i=0;i<oDiv.length;i++){
       oDiv[i].alpha=30;
       oDiv[i].onmouseover=function(){
         startmove(this,100);
       }
       oDiv[i].onmouseout=function(){
         startmove(this,30);
       }
      }
     }
     //var timer=null;
     //var alpha=30; 多个物体是不能使用公共样式,需要对每一个对象都定义
     var speed=0;
     function startmove(obj,goal){
     
       //var oDiv=document.getElementsByTagName('div1');
       clearInterval(obj.timer);
       obj.timer=setInterval(function(){
    
        if(obj.alpha==goal){     //判断加在定时器里面
        clearInterval(obj.timer);
       }
       else{
          if(goal>obj.alpha){
            speed=3;
          }
          else{speed=-3;}
          obj.alpha+=speed;
          obj.style.opacity=obj.alpha/100;
          obj.style.filter='alpha(opacity:'+obj.alpha+')';//IE
       } 
    },30)
  }
   
</script>
</head>
<body>
 <div id="div1"></div>
 <div id="div1"></div>
  <div id="div1"></div>
</body>
</html>

写回答 关注

3回答

  • qq_沃德天维森陌拉莫帅yb_0
    2017-04-11 01:14:12
    已采纳

    获取的时候错了 应该是document.getElementsByTagName('div');

    慕田峪699...

    非常感谢!

    2017-04-17 12:11:22

    共 1 条回复 >

  • qq_沃德天维森陌拉莫帅yb_0
    2017-04-07 01:10:10

    你倒数第3个花括号写多了一个

    慕田峪699...

    花括号是对的,应该是其他问题

    2017-04-07 11:12:28

    共 1 条回复 >

  • qq_沃德天维森陌拉莫帅yb_0
    2017-04-07 01:07:30

    我觉得你错在startmove()这个函数内容里 你自己整理下

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题