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开发--网页中调用JS与JS注入
先将网页弄到iOS项目中: 网页内容如下, 仅供测试: <html> <head> <meta xmlns="http://www.w3.org/1999/xh ...
- Linux的分段和分页机制
1.分段机制 80386的两种工作模式 80386的工作模式包括实地址模式和虚地址模式(保护模式).Linux主要工作在保护模式下. 分段机制 在保护模式下,80386虚地址空间可达16K个段,每 ...
- ssh-keygen的使用方法
一.概述 1.就是为了让两个linux机器之间使用ssh不需要用户名和密码.采用了数字签名RSA或者DSA来完成这个操作 2.模型分析 假设 A (192.168.20.59)为客户机器,B(192. ...
- Android-xUtils框架介绍(二)
昨天对xUtils整体上做了一个简单的介绍,今天咱们就代码码起,真刀实枪的也看看,看看如何快速便捷的把xUtils给集成到大家的项目中去.xUtils中有四大组件可以供我们使用,分别是ViewUtil ...
- Java面试题-Java中的锁
1. 如何实现乐观锁(CAS)?如何避免ABA问题? 答:1)读取内存值的方式实现了乐观锁(比如:SVN系统),方法:第一,比较内存值和期望值:第二,替换内存值为要替换值. 2)带参数版 ...
- PLSQL Developer调试 存储过程和触发器
1. 打开PL/SQL Developer如果 在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面输入 用户名,密码和host名字,这个跟在程序中web.co ...
- (转载)关于gcd的8题
发现其实有关gcd的题目还是挺多的,这里根据做题顺序写出8题. [bzoj2818: Gcd] gcd(x,y)=质数, 1<=x,y<=n的对数 做这题的时候,懂得了一个非常重要的转化: ...
- HNOI2008 GT 考试
我不明白为什么是DP,我感觉和vijos的核电站问题(https://www.vijos.org/p/1232)差不多啊 这是别人的题解:http://www.cnblogs.com/Skywalke ...
- [ACdream 1099] 瑶瑶的第K大
瑶瑶的第K大 Time Limit: 4000/2000MS (Java/Others) Memory Limit: 256000/128000KB (Java/Others) Problem Des ...
- POJ 3683 Priest John's Busiest Day (2-SAT,常规)
题意: 一些人要在同一天进行婚礼,但是牧师只有1个,每一对夫妻都有一个时间范围[s , e]可供牧师选择,且起码要m分钟才主持完毕,但是要么就在 s 就开始,要么就主持到刚好 e 结束.因为人数太多了 ...