javascript - 前端开发scroll事件
高洛峰
高洛峰 2017-04-10 15:34:32
[JavaScript讨论组]

我在浏览器scroll事件中不断改变一个元素的top值,元素top值的改变为什么不流畅,一跳一跳的,怎么才能解决

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
PHPz

推荐使用基于jQuery的animate动画函数以及scrollTop方法,平稳过渡效果,时间可控制,封装代码如下:

/**
 * 自动页面滚动至某元素
 * @param {Object} obj 主对象
 * @param {Number} time 页面滚动至某元素所需时间
 * @example autoscroll($('#goTop'),100)
 */ 
function autoscroll(obj,time){
    var $this = $(obj);
    if(!time) time = 500;
    var $top = $this.offset().top;
    $('html,body').animate({
        scrollTop:$top
    },time);
}
大家讲道理

将滚动回调函数中使用到的对象之类的,除非需要根据条件计算的,其他的通通先用变量缓存起来。这样在某些情况下是可以实现一定程度的优化的。

PHP中文网

不要直接操作元素的值,最好用变量代替元素值的变化,前段性能优化中就有尽量减少dom元素操作

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

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