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

鼠标放上去没反应

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

正在回答

2 回答

不好意思我看错了,应该是你用了style.left却没有用绝对定位,你在#div1样式里加一句position:absolute应该就行了。

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

offsetLeft属性是只读的,直接赋值没用

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

不知所语 提问者

我这里没有给他赋值啊
2016-06-21 回复 有任何疑惑可以回复我~
#2

萧雁翎 回复 不知所语 提问者

position:absolute应该就行了。
2016-06-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

鼠标放上去没反应

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