背景:
项目的移动端需要弄一个上滑加载更多的效果,达到分页效果。。
我的第一想法去网上找个插件直接弄上,想法是好的,现实是残酷的。。网上找的不是乱七八糟的
就是一些有名的插件太大了,我一个小功能显得太臃肿。。而且关键页面早就弄好了,用上插件各种
不兼容,重新调页面那就工程太大了。所以自己写个简单上滑。。
原理:
scrollHeight即真实内容的高度;
clientHeight比较好理解,是视窗的高度,就是我们在浏览器中所能看到内容的高度;
scrollTop是视窗上面隐藏掉的部分。
1 如果真实的内容比视窗高度小,则一直加载到超过视窗,
2 如果上滑红色部分没有了 那不就是到底部了么???(最直接的判断不就是 :scrollTop+可视部分(设备高度)==文档(真是高度))
就是滑到了底部了。
代码:
<script > /*第一种*/ $(function(){ $(window).scroll(function(){ var scrollH = document.documentElement.scrollHeight; var clientH = document.documentElement.clientHeight; if (scrollH == (document.documentElement.scrollTop | document.body.scrollTop) + clientH){ //加载新数据 alert("加载新数据"); } }); }); /*第二中 */ //获取当前浏览器中的滚动事件 $(window).off("scroll").on("scroll", function () { var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; //获取当前浏览器的滚动条高度 if (scrollHeight <= ($(window).scrollTop() + $(window).height())) { //判断当前浏览器滚动条高度是否已到达浏览器底部,如果到达底部加载下一页数据信息 $("#loadingImg").css('visibility','visible'); setTimeout(function () { //模拟ajax for(m=0;m<5;m++){ $(".order-list").append(appendStr); } },1000) } }); </script>样式和业务逻辑自己写下吧。。。。职场小白有错欢迎指出 谢谢