猿问

为什么没淡入淡出?

<!DOCTYPE html>

<html lang="">

    <head>

        <meta charset="utf-8">

        <style type="text/css">

            div{

                width: 200px;

                height: 200px;

                background: red;

                margin: 20px;

                float: left;

                opacity: 0.3;

            }

        </style>

        <script type="text/javascript">

        window.onload=function(){

            var aDiv=document.getElementsByTagName('div');

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

                aDiv[i].timer=null;

                aDiv[i].onmouseover=move(this,100);

            };

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

                aDiv[i].onmouseout=move(this,30);

            };

        };

        function move(obj,tar){

            clearInterval(obj.timer);

            obj.timer=setInterval(function(){

                var alpha=30;

                if(alpha==tar){

                    clearInterval(obj.timer);

                }else{

                    var speed=(tar-alpha);

                    speed=speed>0?Math.ceil(speed):Math.floor(speed);

                    alpha+=speed;

                };

                obj.style.opacity=alpha/100;

            } , 30);

        };

        </script>

    </head>

    <body>

    <div></div>

    <div></div>

    <div></div>

    <div></div>

    </body>

</html>

hhhzihao2
浏览 1515回答 3
3回答

qq_冲哥_0

 aDiv[i].onmouseover=function(){move(this,100);}改成上面的样子,要把一个函数赋值给一个事件

花满楼的小前端a

你move里的this是指向window的,这不要用this

知目

已经透明了好吗。。。换个浏览器测试吧
随时随地看视频慕课网APP
我要回答