老师,这一段代码它究竟是想干嘛?

老师,这一段代码它究竟是想干嘛?

http://img1.sycdn.imooc.com//climg/5f12f83f0933d8b205730304.jpghttp://img1.sycdn.imooc.com//climg/5f12f82409bbe27706910338.jpg

我目前的理解就是:1.在页面滑到距离底部不足30且触发商家列表次数小于3次时,两种情况:①如正在加载商家列表,那么直接返回不再往下执行;②否则再一次加载商家列表。2.否则div .loading文本显示为‘加载完成’。这绕来绕去是怎么个意思,我晕了!

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,没有早早的就输出了“加载完成”哦。

在满足高度了条件scrollTop + clientHeight >= scrollHeight - proDis之后,且page大于等于3,表示已经加载过3页了。之后才会显示“加载完成”哦。

祝学习愉快~

提问者 weixin_慕前端6235132 2020-07-19 11:35:05

如果满足了条件:scrollTop + clientHeight >= scrollHeight - proDis,说明快要滚动到底部了,应该这时候加载“加载完成”啊!为什么会早早就显示加载完成?

好帮手慕糖 2020-07-19 10:33:01

同学你好,可以结合如下理解:

1、可以理解为这里是做了加载限制,假如列表一共有100页,我们不能一次就滚动加载所有的。所以定义了变量page标记加载了多少页,然后判断page < 3,意思就是每次最多让它加载3页。

2、因为滚动的时候,一直在触发getList这个方法,就会一直加载。就是上个请求没请求完又一个请求,请求多次,就会返回多次数据。而isLoading就是设置标识,在标识为true时不重复请求

3、page是加载的页数。

4、(1)这里是先判断是否满足滚动高度的这个条件,若不满足,不进行任何操作。

(2)若是满足了,判断加载了几页,若是超过3页,执行else语句则显示文字“加载完成。”

(3)若是不满足3页,判断当前是否在发送请求。若是正在发送,直接结束,不需要重复请求。

(4)若是当前没有发生,则调用getList函数,发送请求。

可以再结合代码理解下哦。

祝学习愉快~

  • 如果满足了条件:scrollTop + clientHeight >= scrollHeight - proDis,说明快要滚动到底部了,应该这时候加载“加载完成”啊!为什么会早早就显示加载完成?
    2020-07-19 11:35:41
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师