扫码关注官方订阅号
js 实现物体移动 老是抖动
认证高级PHP讲师
你的timer刷新了但是clearTimer读的旧值,所以你的clearTimer从来都没有生效
function doMove(obj,dir,target){ // .... obj.timer=setInterval(function() { // timer => obj.timer // .... }, 100); // .... }
不要用定时器吧,用animate({left:"0px"},1000),具体参数值可以自己去调试
做动画,你可以尝试CSS3的一些属性。
transactiontransform
比js使用定时器做性能会好很多,另外像位移这种变换,使用translate3d可以使用设备的硬件加速。比直接改left属性要好很多。
如果你坚持使用JS做动画,尽可能使用requestAnimationFrame这个方法会比直接使用set timeout性能要好得多
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你的timer刷新了但是clearTimer读的旧值,所以你的clearTimer从来都没有生效
不要用定时器吧,用animate({left:"0px"},1000),具体参数值可以自己去调试
做动画,你可以尝试CSS3的一些属性。
transaction
transform
比js使用定时器做性能会好很多,另外像位移这种变换,使用translate3d可以使用设备的硬件加速。比直接改left属性要好很多。
如果你坚持使用JS做动画,尽可能使用requestAnimationFrame这个方法会比直接使用set timeout性能要好得多