javascipt变速运动问题解决
程序员文章站
2022-03-16 11:30:45
今天在实现dom对象变速运动的时候发现了一个问题,以下是js代码关于速度的部分:
timer = setinterval(function(){
//......
今天在实现dom对象变速运动的时候发现了一个问题,以下是js代码关于速度的部分:
timer = setinterval(function(){ //... console.log(odiv.offsetleft);//每次跑剩余行程的10分之一,以达到速度减缓的效果 odiv.style.left = odiv.offsetleft+(target-odiv.offsetleft)/10+'px'; //... }, 30);
从效果上看是没问题的,但从日志看很明显就有问题:
可以看出每次移动都是对计算值进行了四舍五入取整,最终当计算值小于0.5时进入了死循环。
当计算值小于1的时候统一按1处理
odiv.style.left = odiv.offsetleft+math.max((target-odiv.offsetleft)/10, 1)+'px';
下一篇: 学校发生火灾同学们痛苦笑出声
推荐阅读
-
Autojs一些问题解决的方案2
-
关于input的一些问题解决方法分享
-
简单的Oracle小问题解决
-
php 表单提交长文章数据丢失问题解决方法
-
MySQL5.7+版本,提示mysql1055错误,sql_mode=only_full_group_by问题解决办法
-
mysql too many open connections问题解决方法_MySQL
-
MySql 5.7+ ONLY_FULL_GROUP_BY 引发问题解决方法
-
【mysql】执行group by提示only_full_group_by问题解决方法
-
mysql error:#1062 Duplicate entry ‘***′ for key 1问题解决
-
“this is incompatible with sql_mode=only_full_group_by“问题解决