Mysql query error 1062 : Duplicate entry '1743585298-7038' for key 'PRIMARY' | SQL : insert into `blogread_browse` (`timeint`, `idarticle`, `idcate`, `query`, `ip`, `referer`, `ua`) values (unix_timestamp(), 7038, 7, '/it/article/7038?f=catemore', '3.14.7.99', '', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)') window resize和scroll事件的基本优化 -- JavaScript -- IT技术博客大学习 -- 共学习 共进步!
    技术头条 - 一个快速在微博传播文章的方式     
您现在的位置首页 --> JavaScript --> window resize和scroll事件的基本优化

window resize和scroll事件的基本优化

浏览:1221次  出处信息

同事在项目中使用scroll事件去加载数据,结果IE下悲剧了。给了一个简单优化方法,效果明显。

只要用户改变窗口大小,会对内部一些元素大小重新计算,可能导致整个页面重新渲染,最终导致大量消耗 CPU。比如调用 resize 方法,用户改变窗口大小时会不停的被触发, 低版本的IE 会可能陷入假死状态。window的scroll事件也是如此,鼠标滚动或拖动滚动条,就会不停的触发scroll事件,如果处理的东西多,低版本的IE也会陷入假死状态。

基本的优化思路:在一定的时间之内,只执行一次resize事件函数。


var resizeTimer = null;
$(window).on('resize', function () {
        if (resizeTimer) {
            clearTimeout(resizeTimer)
        }
        resizeTimer = setTimeout(function(){
            console.log("window resize");
        }, 400);
    }
);

scroll事件优化同理。

建议继续学习:

  1. 小tip: 子元素scroll父元素容器不跟随滚动JS实现    (阅读:1038)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2025 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1