通过实例讲解JS如何防抖动

通过实例讲解JS如何防抖动

本文主要通过实例介绍JS图像稳定器是如何讲解的。文章通过示例代码非常详细,对于大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。

前言

该主题通常与事件触发器同时存在。为了考察面试官是否能综合考虑一些具体业务流程(信息流、搜索框输入查询)中的实现思路等。

题目

在一些信息列表中,一般使用瀑布流。当滚动一个屏幕时,加载相应的数据。请思考如何避免连续下拉带来的问题(可能是页面崩溃或者巨卡)。

一般情况下,如果遇到这样的面试问题,图像稳定器机制可以很好的解决。这方面最早的应用实践是Twitter,开发者写了一篇博客详细介绍了如何解决这类问题。那么说到图像稳定器,其核心内涵就在于延迟处理,即延迟所有一系列的事件处理程序,以保证第一个事件处理推入。

event.on(scroll ,函数(e){

var fun

返回函数(){

if(fun)clear time out(fun);

fun=setTimeout(function(){

//console.log(1 )

},500);

}

}());

这是最常见的方式。如果有多次滚动,可以先把真正的功能放在定时器里。

接下来,我们来抽象一下:

功能de(某物,延迟)

var fun

返回函数(){

if(fun)clear time out(fun);

fun=setTimeout(function(){

某物();

},延迟);

}

}

函数scrollToList(){

}

event.on(scroll ,de(scrollToList,1000))

event.on(scroll ,de(scrollToList,2000年))

很明显,这是一种弱治疗。有没有更好的办法?对,比如节流。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

通过实例讲解JS如何防抖动