防抖技巧等于可以把多个次序地调用归并成一次,也就是在一准时光内,规定事宜被触发的次数。
通俗一点来说,看看下面这个简化的例子:
- // 简单的防颤抖函数
- function debounce(func, wait, immediate) {
- // 准时器变量
- var timeout;
- return function() {
- // 每次触发 scroll handler 时先清除准时器
- clearTimeout(timeout);
- // 指定 xx ms 后触发真正想进行的操作 handler
- timeout = setTimeout(func, wait);
- };
- };
- // 实际想绑定在 scroll 事宜上的 handler
- function realFunc(){
- console.log("Success");
- }
- // 采取了防颤抖
- window.addEventListener('scroll',debounce(realFunc,500));
- // 没采取防颤抖
- window.addEventListener('scroll',realFunc);
膳绫擎简单的防抖的例子可以拿到浏览器部属一下,大年夜概功能就是如不雅 500ms 内没有持续触发两次 scroll 事宜,那么才会触发我们真正想在 scroll 事宜中触发的函数。
膳绫擎的示例可以更好的封装一下:
- // 防颤抖函数
- function debounce(func, wait, immediate) {
- var timeout;
- return function() {
- var context = this, args = arguments;
- var later = function() {
- timeout = null;
- if (!immediate) func.apply(context, args);
- };
- var callNow = immediate & !timeout;
- clearTimeout(timeout);
推荐阅读
智能化需求表如今两个方面跟着移动互联网的成长进入新的偏向,移动互联网中的智能化已经成为新的成长趋势和重要需求。智能化需求今朝重要表如今两个方面:一方面是促生新的智能化应用,如>>>详细阅读
本文标题:高性能滚动scroll及页面渲染优化
地址:http://www.17bianji.com/lsqh/34957.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示