下拉加载更多DEMO(js实现)

原创 2015年11月19日 10:49:16

    项目的一个前端页面展示已购买商品时,要求能下拉加载更多。花了点时间研究这个功能,以前没做过。

    首先需要给div加scroll事件,监听滚动条滚动动作。那何时触发加载动作呢?当滚动条滚到底的时候。如何判断滚动条滚到底呢?

    当滚动条的高度加上滚动条到div顶部的高度等于div的可滚动高度时,说明滚动条到底部了。公式如下。

this.scrollHeight <= $(this).scrollTop() + $(this).height()

    给出一个能跑的demo,需要引入jquery。

<!DOCTYPE=html>
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
</head>
<body>
	<div>下拉加载更多</div>
    <div class="main" style="height:700px;overflow:auto;">
		<div class="child" style='border:1px solid red;margin-top:20px;color:grey;height:800px' ></div>
    </div>
</body>
<script  type="text/javascript">
$(document).ready(function(){
	$(".main").unbind("scroll").bind("scroll", function(e){
		var sum = this.scrollHeight;
		if (sum <= $(this).scrollTop() + $(this).height()) {
			$(".main").append($(".child").clone());
		}
	});
});
</script>
</html>

    如果等滚动条拉到底部时再加载,会影响用户体验。因为一般动态加载的时候都需要向服务端请求资源,这时需要时间。一个更佳的方式是,当滚动条距离底部一定距离(C)时,就动态加载更多,向服务端请求资源。也就是预加载,预读取。公式如下。

this.scrollHeight - C == $(this).scrollTop() + $(this).height()

    一个js功能,最后发现其实是个数学问题。最开始看同事写的类似功能的代码式,十分繁琐。当自己总结完这个公式后,思路立刻清晰了。透过现象看本质。

版权声明:本文为博主原创文章,未经博主允许不得转载。

基于iscroll.js实现下拉刷新和上拉加载特效

转自:http://blog.csdn.net/laokdidiao/article/details/53274008 现在已经不是纯Android独霸天下的时代了,H5嵌入Android的...
  • Maxbyzhou
  • Maxbyzhou
  • 2016年11月24日 01:41
  • 5336

使用vue.js 在移动端简单实现的下拉加载更多 和一些常用的js/jq操作和vueFilter,v-if和v-show运用

INFO__ALL
  • In_God
  • In_God
  • 2017年06月30日 15:59
  • 2383

下拉加载更多DEMO(js实现)

项目的一个前端页面展示已购买商品时,要求能下拉加载更多。花了点时间研究这个功能,以前没做过。     首先需要给div加scroll事件,监听滚动条滚动动作。那何时触发加载动作呢?当滚动条滚到底...
  • zhenhanhong_tony
  • zhenhanhong_tony
  • 2016年11月08日 22:34
  • 205

SwipeRefreshLayout配合RecyclerView实现下拉刷新和上拉加载更多的Demo源码

  • 2016年01月26日 21:03
  • 7.74MB
  • 下载

android listview demo 下拉加载更多

  • 2014年02月22日 16:08
  • 230KB
  • 下载

JS实现二级列表(包含下拉刷新、上拉加载更多、侧滑操作等)

本篇文章讲述的是使用js实现可收缩二级列表,包含以下特性: 1,点击打开/收缩二级列表; 2,列表下拉刷新数据; 3,列表上拉加载更多数据; 4,列表item项可侧滑操作(类似于QQ和微信);...
  • fxp850899969
  • fxp850899969
  • 2017年04月13日 17:54
  • 843

android-下拉加载更多demo

  • 2016年08月08日 23:05
  • 1.29MB
  • 下载

下拉刷新上拉加载更多demo

  • 2015年08月25日 11:29
  • 1.02MB
  • 下载

文档dropload.js插件实现webApp网页上滑刷新下拉加载更多

文档说明需要引入的文件 $('div').dropload({ 滑动区域 s
  • Ani521smile
  • Ani521smile
  • 2016年12月24日 17:39
  • 9715

android下拉刷新上拉加载更多通用Demo

0.   前段时间做项目,有一个下拉刷新的需求,在网上找了很多Demo,都不是很满意,最主流的都是通过Listview加header和footer来实现,但需求中不涉及Listview,于是参考了很多...
  • hierophantzw
  • hierophantzw
  • 2014年02月28日 13:14
  • 1475
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:下拉加载更多DEMO(js实现)
举报原因:
原因补充:

(最多只允许输入30个字)