停不下来?

来源:2-1 JS速度动画

吴丛明

2016-01-02 22:21

为什么我的在odiv.offsetLeft==0的时候停不下来代码我也写上去了

写回答 关注

4回答

  • A潜水的鱼
    2016-01-13 15:44:19

    将#div1中的position:relative;改为position:absolute;

    gzw2zy

    为什么要将它改为position:absolute;

    2016-01-14 22:51:05

    共 1 条回复 >

  • aaallj
    2016-01-03 12:02:13

    建议将判断条件“oDiv.offsetLeft == 0”改为“oDiv.offsetLeft <= 0”,浏览器渲染页面是有间隔的,如果值改变为0的时间点和浏览器渲染的时间点完美错过了,那么设置的值就没有用了。改为小于等于0,就算错过了0的时间点,以后小于0的值也在判断范围内。

  • 吴丛明
    2016-01-02 23:01:32

    一直往右边走哪里错了?

    听说名字太长...

    没有定范围

    2016-01-06 16:19:57

    共 1 条回复 >

  • 吴丛明
    2016-01-02 23:00:26

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>无标题文档</title>

    <style type="text/css">

    body.div.span{

    margin:0px;

    padding:0px;

    }

    #div1{

    width:200px;

    height:200px;

    background:red;

    position:relative;

    left:-200px;

    top:0px;

    }

    #div1 span{

    width:20px;

    height:50px;

    background:blue;

    position:absolute;

    left:200px;

    top:75px;

    }

    </style>

    <script>

    window.onload=function(){

    var oDiv=document.getElementById('div1');

    oDiv.onmouseover=function(){

    startmove();

    }

    oDiv.onmouseout=function(){

    startmove1();

    }

    }

    var i=null;

    function startmove(){

    clearInterval(i);

    var oDiv=document.getElementById('div1');

    i=setInterval(function(){

    if(oDiv.offsetLeft==0){

    clearInterval(i);

    }

    else

    {

    oDiv.style.left=oDiv.offsetLeft+1+'px';

    }

    },30)

    }

    function startmove1(){

    clearInterval(i);

    var oDiv=document.getElementById('div1');

    i=setInterval(function(){

    if(oDiv.offsetLeft==-200){

    clearInterval(i);

    }

    else

    {

    oDiv.style.left=oDiv.offsetLeft-1+'px';

    }

    },30)

    }

    </script>

    </head>


    <body>

    <div id="div1"><span id="share">分享</span></div>

    </body>

    </html>


JS动画效果

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

113931 学习 · 1443 问题

查看课程

相似问题