javascript刷新当前页面_行程变速问题

Java (3) 2024-05-30 15:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说javascript刷新当前页面_行程变速问题,希望能够帮助你!!!。

今天在实现dom对象变速运动的时候发现了一个问题,以下是js代码关于速度的部分:

timer = setInterval(function(){
    //...
    console.log(oDiv.offsetLeft);//每次跑剩余行程的10分之一,以达到速度减缓的效果
    oDiv.style.left = oDiv.offsetLeft+(target-oDiv.offsetLeft)/10+'px';
    //...
}, 30);

从效果上看是没问题的,但从日志看很明显就有问题:
javascript刷新当前页面_行程变速问题_https://bianchenghao6.com/blog_Java_第1张
可以看出每次移动都是对计算值进行了四舍五入取整,最终当计算值小于0.5时进入了死循环。

解决方法

当计算值小于1的时候统一按1处理

oDiv.style.left = oDiv.offsetLeft+Math.max((target-oDiv.offsetLeft)/10, 1)+'px';

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复