实在找不出为什么我的就是没有反应呢?

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

qq_宝怪儿_0

2017-05-17 16:30

<script type="text/javascript">

  window.onload=function(){

  var odiv=document.getElementsByTagName("div");

  for(var i=0;i<odiv.length;i++){

  odiv[i].alpha=30;

  odiv[i].onmoseover=function(){

  statemove(this,100);

  }

  odiv[i].onmoseout=function(){

  statemove(this,30);

  }

  }

  }

    function statemove(obj,long){

    clearInterval(obj.timer);

        obj.timer=setInterval(function(){

        var speed=0;

        if(obj.alpha>long){

        speed=-10;

        } else{

        speed=10;

        }

        if(obj.alpha==long) {

        clearInterval(obj.timer);

        }else{

        obj.alpha+=speed;

        obj.style.filter="alpha(opacity:'+obj.alpha+')";

        obj.style.opacity=obj.alpha/100;

        }


     },30)


    }


写回答 关注

2回答

  • 夏彧
    2017-05-18 16:58:05

    楼上的只是一个错误,最主要的是你把onmouseover写成了onmoseover,(双引号与单引号在该语言中是没什么太大的区别,但你上述写法就是明显错误的,引号之间要互相匹配,单配单,双配双,如果找你照你写的就相当于把alpha(opacity:'+obj.alpha+')该字符串赋给了前面的变量)。

  • 慕仰5658343
    2017-05-17 17:04:56

    obj.style.filter="alpha(opacity:'+obj.alpha+')";

    这句话有问题,要改为:obj.style.filter = 'alpha(opacity:' + obj.alpha + ')';

    qq_宝怪儿...

    这两个有什么区别 就是把双引号改成单引号?这个我也试过了啊 还是不行啊

    2017-05-18 13:21:12

    共 1 条回复 >

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题