为了账号安全,请及时绑定邮箱和手机立即绑定

鼠标放上去没反应

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    *{
        margin: 0;
        padding: 0;
    }

    #div1{
        width: 200px;
        height: 300px;
        background-color: yellow;
    }

    </style>
    <script type="text/javascript">
        window.onload = function(){
            var div1 = document.getElementById("div1");
            div1.onmouseover = function(){
                startMove(0);
            }

            div1.onmouseout = function(){
                startMove(-200);
            }
        }

        var timer = null;
        function startMove(itarget){
            clearInterval(time);
            var div1 = document.getElementById('div1');
            timer = setInterval(function(){
                var speed = (itarget-div1.offsetLeft)/20;
                speed = speed > 0? Math.ceil(speed) : Math.floor(speed);
                if(div1.offsetLeft == itarget){
                    clearInterval(timer);
                }else{
                    div1.style.left = div1.offsetLeft + speed + 'px';
                }


            }, 30)
        }

    </script>
</head>
<body>
    <div id="div1"></div>
    
</body>
</html>

正在回答

1 回答

首先,是clearInterval(timer)不是(time)。

其次,你的Div默认left值就是0,startMove引入的目标变量也是0,鼠标移入时自然不会出现动画,修改一下变量值。

当然,最重要的是你的div没有设置定位属性。

0 回复 有任何疑惑可以回复我~
#1

不知所语 提问者

非常感谢!
2016-06-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

鼠标放上去没反应

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信