js实现下拉加载

上拉加载失效

在麦芒6遇到这个问题。看了一下代码,发现是性能问题,监听scroll事件需要函数截流。

解决方法

下拉加载代码

$(window).on('scroll', Util.debounce(this.upperLoad.bind(this), 20));
// 上拉加载
    upperLoad() {
        let $win = $(window);
        let $doc = $(document);
        let winH = $win.height();

        if (this.props.loading || this.props.loading === null) {
            return false;
        }

        let scrollTop = $win.scrollTop();

        let docH = $doc.height();

        if (scrollTop + winH >= docH) {
            this.props.handleNext && this.props.handleNext();
        }
    }
复制代码

消抖函数

export const debounce = (fun, delay) => {
    var last;
    return function () {
        var ctx = this;
        var args = arguments;
        clearTimeout(last);
        last = setTimeout(function () {
            fun.apply(ctx, args);
        }, delay);
    };
};
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值