当前位置:首页 > 技术博客 > JQuery > jq scroll()和resize() 的优化

jq scroll()和resize() 的优化

7年前 (2019-04-24)JQuery762

在最近的一个项目中我使用到了jq中的scroll()和resize()方法来检测用户滚动/调整浏览器窗口并运行相关代码。可以注意到scroll()、resize()在各种浏览器的性能消耗不一。

   #IE、Safari、Chrome在调整窗口变化中一直在执行resize事件

   #Opera则在这个过程中发生了很多次resize事件,但在结束调整时执行。

   #Firefox则是只在调整结束后才执行事件。

 我们想要的明显是在结束调整之后才执行事件。幸运的是我们可以通过以下几种方法来调整:

调整运行时间

创建一个在你发生调整时需要执行的任意代码的函数。

可以运行函数并给它设置一个超过时间执行,从而达到在某一段时间内执行一次函数


我们对滚动监听的处理:

(function($) {
    var scrollTimer; 
    function scrollFunction() {
        // 处理函数
    };
    
    $(window).scroll(function() {
        clearTimeout(scrollTimer);
        scrollTimer = setTimeout(scrollFunction, 100);//我们可以适当调整时间间隔
    });
})(jQuery);


同样的,我们对resize()也可以做同样的处理

(function($) {
    var resizeTimer; 
    function resizeFunction() {
        // 处理函数
    };
    
    $(window).resize(function() {
        clearTimeout(resizeTimer);
        resizeTimer = setTimeout(resizeFunction, 100);//我们可以适当调整时间间隔
    });
    resizeFunction();//首次运行
})(jQuery);


版权声明:本文由 LzxBlog 发布,如需转载请注明出处。

本文链接:https://cdn.liuzhixi.cn/html/42.html

标签: jQuery

相关文章

一行代码实现全站pjax无刷新加载

一行代码实现全站pjax无刷新加载

一:整合pjax的准备工作:检查你的网站是否引入1.7.0版本以上的jquery.js,如果没有请全局引入二:开始整合pjax:    &n...

10种jQuery轮播图特效整合

10种jQuery轮播图特效整合

下载链接: https://pan.baidu.com/s/1YQDM4yDcTgnfnetL07MbgA   提取码: pmn1...

关注列表缩放滚动效果

关注列表缩放滚动效果

使用jQuery和css3制作响应式的关注列表上下垂直滚动效果,可动态添加数据,带关注按钮事件。修改data数组添加或删除数据即可实现。<head>...

jQuery仿百度搜索引擎

jQuery仿百度搜索引擎

静态搜索引擎,内置ajax动态查询默认参数:{     width: "200px",&...

jQuery响应式工作室类网站模板

jQuery响应式工作室类网站模板

简洁创意的jQuery响应式工作室类网站模板下载链接:https://pan.baidu.com/s/17qCoDvqTAt98mygA4b4jCQ ...

jQuery动态数据流程步骤条特效

jQuery动态数据流程步骤条特效

jQuery动态数据流程步骤条特效,事先设置好需要走的流程步骤,然后根据状态进行判断走到哪一步,审批意见是什么,支持动态数据配置。<html>&nb...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。