clearInterval(timer);不起作用

来源:2-1 JS速度动画

刘颜

2016-10-30 19:36

<!DOCTYPE html>
<html>
    <head>
        <title>Date TEST</title>
        <style>
            #div1{
                left:-200px;
                width: 200px;
                height: 100px;
                position: relative;
                background-color: red;
            }
            #div1 span{
                width: 20px;
                height: 50px;
                background: blue;
                position: absolute;
                left: 200px;
                top: 75px;
            }
        </style>
    </head>
    <body>
        <div id="div1">This is a div for testing animation</br>
            <span>TESTING</span>
        </div>
    </body>
    <script>
        window.onload = function(){
            var oDiv = document.getElementById('div1');
            oDiv.onmouseover = function(){
                startMove();
            }
        }
        var timer = null;
        function startMove(){
            clearInterval(timer);
            var oDiv = document.getElementById('div1');
            timer = setInterval(function(){
                if(oDiv.offsetLeft == 0){
                    clearInterval(timer);
                }
                else
                {
                    oDiv.style.left = oDiv.offsetLeft + 1 + 'px';
                }
            }, 30) 
        }
    </script>
</html>


写回答 关注

2回答

  • 二哥二姐二姐夫
    2016-10-30 22:33:10
    已采纳

    body本身的margin属性没有reset

    你在CSS里加一句 *{margin:0;padding:0;}

    刘颜

    非常感谢!

    2016-10-31 05:11:57

    共 1 条回复 >

  • 二哥二姐二姐夫
    2016-10-30 22:33:37

    body本身的margin属性没有reset

    你在CSS里加一句 *{margin:0;padding:0;}


    二哥二姐二姐... 回复刘颜

    客气了,其实老师后面有讲到的,我也是初学者,一起努力o( ̄▽ ̄)d

    2016-10-31 11:59:39

    共 5 条回复 >

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题