Framework7学习笔记之 无限滚动(滚动到底部时加载新内容)
2018-02-22 21:50
525 查看
一:为页面添加无限滚动控件
在可滚动的容器上(一般为page-content)添加“infinite-scroll”类;在页面底部定义 加载指示器。
二:在js中监听滚动到底部的刷新事件,触发加载新内容
在可滚动的容器上(一般为page-content)添加“infinite-scroll”类;在页面底部定义 加载指示器。
<div class="page"> <div class="page-content infinite-scroll" data-distance="100"> ... <!-- 加载提示符 --> <div class="infinite-scroll-preloader"> <div class="preloader"></div> </div> </div> </div>
二:在js中监听滚动到底部的刷新事件,触发加载新内容
var $$ = Dom7; // 加载flag var loading = false; // 上次加载的序号 var lastIndex = $$('.list-block li').length; // 最多可加载的条目:本页面最多加载多少内容 var maxItems = 60; // 每次加载添加多少条目:每次滑动到底部时加载多少条 var itemsPerLoad = 20; // 注册'infinite'事件处理函数 $$('.infinite-scroll').on('infinite', function () { // 如果正在加载,则退出函数 if (loading) return; // 设置flag:开始加载 loading = true; 加载操作....//拉取新数据 if (lastIndex >= maxItems) { // 加载到页面最大限额了,则注销无限加载事件,以防不必要的加载 myApp.detachInfiniteScroll($$('.infinite-scroll')); // 删除加载提示符 $$('.infinite-scroll-preloader').remove(); return; } // 生成新条目的HTML var html = ''; for (var i = lastIndex + 1; i <= lastIndex + itemsPerLoad; i++) { html += '<li class="item-content"><div class="item-inner"><div class="item-title">新条目内容...</div></div></li>'; } // 添加新条目:插入到原页面列表 $$('.list-block ul').append(html); // 更新最后加载的序号 lastIndex = $$('.list-block li').length; //加载完毕,设置为false loading = false; });
相关文章推荐
- jquery实现滚动到页面底部时无限加载内容的代码
- Vue下滚动到页面底部无限加载数据的示例代码
- 当滚动条滚动到页面底部自动加载增加内容的js代码
- Jquery鼠标滚动到页面底部自动加载更多内容,使用分页
- 当滚动条滚动到页面底部自动加载增加内容的js代码
- Jquery鼠标滚动到页面底部自动加载更多内容,使用分页
- Jquery鼠标滚动到页面底部自动加载更多内容,使用分页
- 滚动到页面底部继续加载页面其他内容
- 滚动到底部加载内容
- jquery模仿微博向下滚动到页面底部时实时加载新内容
- 当滚动条滚动到页面底部自动加载增加内容的js代码
- jquery模仿微博向下滚动到页面底部时实时加载新内容代码
- javscript实现滚动条滚动到页面底部自动加载增加页面内容
- 滚动到页面底部自动加载内容
- jQuery实现的瀑布流效果, 向下滚动即时加载内容
- 【无限滚动加载数据】—infinite-scroll插件的使用
- 无限滚动加载(第一次请求完成后才发第二次请求)
- AngularJS 无限滚动加载数据控件 ngInfiniteScroll
- AngularJs实现无限滚动加载
- 滚动时自动加载内容