h5 ios 滚动到底部_【前端】js滚动加载图片bug,ios手机滚动到底部不会加载一页而是加载好几页...

$(document).scroll(function (){

var scrollTop = $(this).scrollTop();

var scrollHeight = $(document).height();

var windowHeight = $(window).height();

if(scrollTop + windowHeight >= scrollHeight){

//这里是加载图片ajax

}

});

这是部分代码,逻辑就是滑动到底部的时候请求ajax,在安卓上可以一页一页正常加载,ios上则滑动到底部一下加载好几页,求教

回答

加载好几页是因为scroll事件被多次触发,可以用节流函数来控制触发的时间间隔,比如underscore的throttle函数:

var throttled = _.throttle(updatePosition, 100);

$(window).scroll(throttled);

function updatePosition(){

var scrollTop = $(this).scrollTop();

var scrollHeight = $(document).height();

var windowHeight = $(window).height();

if(scrollTop + windowHeight >= scrollHeight){

//这里是加载图片ajax

}

}

用一个全局变量控制,默认设为false,滚动时设为true,滚动完成再设为false

可以使用lodash或者是手动作一个时间间隔,强制增加触发间隔。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值