美文网首页
张泽依的简书--移动端源生实现上垃加载(已优化)

张泽依的简书--移动端源生实现上垃加载(已优化)

作者: TouchMe丶 | 来源:发表于2018-04-16 21:44 被阅读51次

由于最近接受公司内移动App热部署的试用中心WebApp的项目,里面有非常多的列表加载。

接下来记录一下今天自己踩的巨坑

在后端给出分页的情况下,我试着自己封装一个方法来尝试达到效果,因为Iscroll这些插件需要引入额外的文件,自己强迫症犯了,并没有用Iscroll插件。

今天忙于实现这个,主要运用Scroll事件实现.。运用函数节流以及中间变量来阻断scroll多次执行

在这里只简单说思路。具体代码放于github.com/ouaisheinie

1.Scroll方式实现。

Scroll方法,滚动条实现。判断的依据是用以下3个属性

body.clientHeight      body.scrollTop    window.innerHeight  满足以下条件

body.scrollTop + window.innerHeight > body.clientHeight - n  (n是需要缓冲的高度值)

因为是scroll事件  触发频率极高  在运用时注意  必须用延时器setTimeout 函数节流

注意:函数节流之后 还是会出现滑动下去  一次性请求几次数据,刷新较多的情况

可在节流之前 定义一个变量tur = ture; 运用以下这层关系

if(tur){

    setTimeout(()=>{

    //ajax;

    tur = false;

    },500)

}else{

    setTimeout(()=>{

        tur = ture;

    },1000)

    }

重点是在else里 1000ms之后给tur变脸回置成ture  就会每1000ms才会调用一次ajax的回调

因为移动端滑动比较迅速,这样做最多也就调用2次,不会调用太多次,影响性能,浪费用户流量。

相关文章

网友评论

      本文标题:张泽依的简书--移动端源生实现上垃加载(已优化)

      本文链接:https://www.haomeiwen.com/subject/xulykftx.html