javascript - touchmove卡顿问题
PHPz
PHPz 2017-04-10 17:50:22
[JavaScript讨论组]

我做的手机端滑动幻灯片,但是滑动的时候总是一卡一卡的,完全不流畅,不知道为什么

arrLi[i].addEventListener('touchmove',function(event){
                event.preventDefault();

                xMove = event.touches[0].clientX;
                direction = xMove - xDown;
                xTranslateMove = xTranslateEnd+direction;
                getUl.style.transform = 'translate('+xTranslateMove+'px,0)';
                getUl.style.webkitTransitionDuration = "0ms";
                //debounce(moveX);

            })
PHPz
PHPz

学习是最好的投资!

全部回复(3)
天蓬老师

移动端的性能本身就不是很强。
这段代码看不出啥大问题,可以优化的点是,没加3d,transform没做前缀检查。

我的建议是css布局,在js的move事件后直接改class,可能会好很多。

要想流畅,必须开3d,硬件加速。

高洛峰

这些还是用别人的组件比较好,兼容性啊什么的比较好。。。

黄舟

一卡一卡的只是个现象,有很式原因都可能造成这个现象:

  • 每次移到的距离过大,移动间隔的时间过长。人的视觉暂留大概是1/24秒,通常平滑的动画都会在每秒30帧以上。

  • 由于计算错误,位置变化如果不是流线行的也会出现卡的现象

  • 如果一个动画由多个子动画组成,子动画的不连贯也会造成卡的现象

  • ……

至于你遇到的是什么原因,我就不知道了,自己可以跟踪调试一下再来分析。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号