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

为什么设置了clearInterval()没有效果了。

为什么设置了clearInterval()没有效果了。

<!DOCTYPE html>
<html lang="en/zh">
<head>
    <meta charset="UTF-8">
    <title>JS动画</title>    
    <style type="text/css">
        *{
            padding: 0px;
            margin: 0px;
        }
        #share{
            width: 200px;
            height: 200px;            
            background: #2dcb7c;
            position: relative;            
            left:-200px;
        }
        #share span{
            width: 60px;
            height: 50px;
            line-height: 50px;
            background: #272822;
            position: absolute;/*发现了一个秘密,只要用了定位,就可以把inline元素转换层block元素*/
            right: -60px;
            top: 75px;
            text-align: center;
        }
    </style>    
</head>
<body>
    <div id="share">
        <span>分享</span>
    </div>


<!-- javascript代码 -->
    <script type="text/javascript">        
            window.onload =function(){    
                 var odiv=document.getElementById("share");            
                odiv.onmouseover=function(){
                    gos();
                }
            }
            /*动画函数*/
            var timer=null;
            function gos(){
                clearInterval(timer);
                var odiv=document.getElementById("share");                                        
                    timer=setInterval(function(){
                    if(odiv.offsetLeft ==-10){
                        clearInterval(timer);
                    }
                    odiv.style.left=odiv.offsetLeft+10+"px";
                },30)        
            }        
    </script>        
</body>
</html>


正在回答

1 回答

<!DOCTYPE html>

<html lang="en/zh">

<head>

    <meta charset="UTF-8">

    <title>JS动画</title>    

    <style type="text/css">

        *{

            padding: 0px;

            margin: 0px;

        }

        #share{

            width: 200px;

            height: 200px;            

            background: #2dcb7c;

            position: relative;            

            left:-200px;

        }

        #share span{

            width: 60px;

            height: 50px;

            line-height: 50px;

            background: #272822;

            position: absolute;/*发现了一个秘密,只要用了定位,就可以把inline元素转换层block元素*/

            right: -60px;

            top: 75px;

            text-align: center;

        }

    </style>    

</head>

<body>

    <div id="share">

        <span>分享</span>

    </div>

 

 

<!-- javascript代码 -->

    <script type="text/javascript">        

            window.onload =function(){    

                 var odiv=document.getElementById("share");            

                odiv.onmouseover=function(){

                    gos();

                }

            }

            /*动画函数*/

            var timer=null;

            function gos(){

                clearInterval(timer);

                var odiv=document.getElementById("share");                                        

                    timer=setInterval(function(){

                    if(odiv.offsetLeft >=-10){

                        clearInterval(timer);

                    }else{

                    odiv.style.left=odiv.offsetLeft+10+"px";}

                },30)        

            }        

    </script>        

</body>

</html>


改了一下

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

记得喝水 提问者

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

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113926    人
  • 解答问题       1443    个

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

进入课程

为什么设置了clearInterval()没有效果了。

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