loadmore
/*
* loadmore.js require jQuery,artTemplate
* Butterfly 2013.08.28
*/
define(['../utils/artTemplate'], function(template){ 'use strict'; var defaults = {
API: 'http://www.1905.com/api/vod/vod_showtheme.php?id=684444',
startIndex: ,
returnLength: ,
threshold: , // Number 距离底部多少距离开始加载
loader: 'loading' //加载指示元素ID
}; var doc = document,
html='',
isLoading = false, closeToBottom = function(threshold) {
return $(window).scrollTop() + $(window).height() > $(doc).height() - threshold
}, loadMore = function( target, options ){
var o = $.extend( defaults, options ),
$target = $(target),
$loader = $('#' + o.loader);
if ( ! isLoading && closeToBottom( o.threshold ) ) {
isLoading = ! isLoading;
$loader.show();
$.ajax({
url: o.API,
data: {
s: o.startIndex,
n: o.returnLength
},
dataType: 'jsonp',
success: function (data) {
if (data && data.length) {
data.forEach(function( item, index ){
html = template( o.tpl, item );
var $item = $(html).css('transition', '400ms').appendTo( $target );
setTimeout(function(){
$item.addClass('fadeIn');
}, *index);
})
//$target.append(html)
if ( data.length == o.returnLength ) isLoading = ! isLoading;
} else {
}
$loader.hide();
}
});
defaults.startIndex += o.returnLength;
}
}; return function( target, options ) {
loadMore( target, options );
$(window).on('resize scroll load', M1905.fn.throttle( function(){
loadMore(target)
}, ) );
} });
2) 在js中配置:
var beginTime = +new Date,
disableCache = ($.browser.msie && $.browser.version == ),
fresh = disableCache ? ('?t=' + beginTime) : ''; //加载更多
M.use('http://js.static.m1905.cn/ui/loadmore.js' + fresh, function (loadmore) {
loadmore( $('.mod-relate').find('.mod-bd'), {
API: 'http://www1.1905.com/api/special/tfsj.php?keywords='+ encodeURIComponent(SPECIALCONFIG.keywords),
startIndex: , //页面刷新时加载的数据条数
returnLength: , //每次加载的数据条数
threshold: , // Number 距离底部多少距离开始加载
loader: 'loading',
tpl: 'theme_list_tpl' //模版ID
})
});
3) 在页面内后台先循环几条,然后写入模板
<!-- 加载更多模板 START-->
<div class="loading-box" id="loading"><i></i>正在加载</div>
<script type="text/javascript">
if(mid == ){
<div class="bd video clearfix">
}else{
<div class="bd clearfix">
}
</script>
<script id="theme_list_tpl" type="text/tpl">
<% if (mid==) {%> <div class="bd video clearfix"> <% }else {%><div class="bd clearfix"><%}%>
<a href="http://www.1905.com/<%=url%>" target="_blank" class="fl">
<img src="<%=thumb%>" height="" width=""> <i class="icon"></i>
</a>
<div class="r-news fr">
<a href="http://www.1905.com/<%=url%>" target="_blank" class="r-title"><%=title%></a>
<span class="r-date"><%=date%></span>
<a href="http://www.1905.com/<%=url%>" target="_blank" class="r-sum"><%=description%></a>
</div>
</div>
</script>
<!-- 加载更多模板 END-->
4) 在控制台中看请求:
s的值在依次累加 取值为 每次滑动的时候从哪条数据开始加载
loadmore的更多相关文章
- 第五天 loadmore
mutating func loadFresh(completion: (result: APIResult<DeserializedType>) -> ()) -> Canc ...
- [ionic开源项目教程] - 第12讲 医疗模块的实现以及Service层loadMore和doRefresh的提取封装
关注微信订阅号:TongeBlog,可查看[ionic开源项目]全套教程. 这一讲主要实现tab2[医疗]模块,[医疗]模块跟tab1[健康]模块类似. [ionic开源项目教程] - 第12讲 医疗 ...
- 拓展开源库SwipeToLoadLayout实现EmptyView和Empty时自动禁用LoadMore
Android应用开发中,经常需要使用到界面的下拉刷新和上拉加载,在support v7之前,一般都是用ListView去做列表视图,而ListView对EmptyView是提供支持的,并且有许多开源 ...
- loadmore & scroll
loadmore <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.m ...
- Vue-上拉加载与下拉刷新(mint-ui:loadmore)一个页面使用多个上拉加载后冲突问题
所遇问题: 该页面为双选项卡联动,四个部分都需要上拉加载和下拉刷新功能,使用的mint-ui的loadmore插件,分别加上上拉加载后,只有最后一个的this.$refs.loadmore.onTop ...
- 移动端效果之LoadMore
写在前面 列表一直是展示数据的一个重要方式,在手机端的列表展示又和PC端展示不同,毕竟手机端主要靠滑.之前手机端之前一直使用的IScroll,但是IScroll本身其实有很多兼容性BUG,想改动一下需 ...
- Vue mint ui用在消息页面上拉加载下拉刷新loadmore 标记
之前总结过一个页面存在多个下拉加载的处理方式,今天再来说一下在消息页面的上拉加载和下拉刷新,基本上每个app都会有消息页面,会遇到这个需求 需求:每次加载十条数据,上拉加载下拉刷新,并且没有点击查看过 ...
- vue loadMore 上拉刷新不能实现的坑
1.如果你写的代码没问题,但依然不能实现上拉刷新效果,那你有可能是缺少了overflow: scroll 2.如果上拉刷新一直在加载状态,需要调用this.$refs.loadmore.onBotto ...
- mint-ui loadmore使用方法和注意事项
最好按照github里的例子ctrl+c => v 模版.js mint-ui/example/pages/pull-up.vue 注意设置:mt-loadmore组件:auto-fill='a ...
随机推荐
- 李洪强漫谈iOS开发[C语言-013]-常量
// // main.m // 09 - 常量 // // Created by 李洪强 on 16/7/17. // Copyright © 2016年 李洪强. All rights re ...
- PHP开篇之环境的搭建
PHP开篇之环境的搭建 Wamp软件下载:http://www.wampserver.com/ 此时是2.5版本 下载下来一键安装. 安装有个主意 这里先不用管 或者smtp@qq.com 13643 ...
- 非常好的Demo网站
http://www.xdemo.org/
- Ubuntu 12.04安装字体
http://www.2cto.com/os/201210/160645.html 安装方法,终端输入: $ sudo thunar /usr/share/fonts/truetype 待ture ...
- Tomcat 部署Undeployment Failure
Tomcat 部署Undeployment Failure - yongjava的日志 - 网易博客 http://blog.163.com/qiangyongbin2000@126/blog/sta ...
- Jdk5.0中出现的新特性
掌握jdk5.0中出现的新特性1.泛型(Generics)2.增强的"for"循环(Enhanced For loop)3.自动装箱/自动拆箱(Autoboxing/unboxin ...
- 分布式环境下的id生成方法
分布式环境下的id生成方法 前几天研究数据库分表分库的问题,其中有一个关键的地方就是生成唯一键的问题,假如数据表有1亿条数据,而且还在不断的增加,这里我们就需要考虑到分表分库,假设我们采用Hash ...
- 函数fsp_seg_inode_page_find_free
/**********************************************************************//** Looks for an unused segm ...
- A*算法完全理解
注:原文出自Patrick Lester,一稿翻译为Panic.很久以前的老文章了,但我觉得真的非常的经典,想把它完善一下让以后的人能够更好的体会原作者和原翻译的精髓吧.我在此基础上修改了部分译文,更 ...
- 使用powerdesigner 画图的详细说明
一.概念数据模型概述 数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求: 1)能够比较真实地模拟现实世界 2)容易为人所理解 3)便于计算机实现 概念数据模型也称信息模型,它以实体- ...