Test
这个例子想要的效果是:p缓冲运动到400px处在立刻回到0px处,自己封装的doAnimate函数的回掉函数应该没问题,但是就是回掉函数中的对left的设置完全没起作用。
如上图所示,p的left属性并没有变成"0px",问题就是这样,求大神帮忙看看
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
当你跑到400位置的时候执行如下代码
执行完回调后,你并没有返回,这个时候start=400,代码继续往下执行。
能发现问题所在了么?
加个return;
这一句是执行了的,p从左边开始,然后再次执行到下面这句时,start仍然是400,所以又跑到右边了
改了一下楼主的代码,用requestAnimationFrame相对于settimeout方法可以提高动画效率,对于开始和结束可以在写的具体点,这里就简单的改成了以下代码: