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 ...
随机推荐
- nginx 详解
#运行用户 #user nobody; #启动进程,通常设置成和cpu的数量相等或者2倍于cpu的个数(具体结合cpu和内存).默认为1 worker_processes 1; #全局的错 ...
- LINQ语句
http://wenku.baidu.com/link?url=hPKqDWql7DNr6W2MsINakjRYYNXmXywB_U3h9FFMeFjcToYpusI2fYKgHjZSRq7r3ULG ...
- 【HDOJ】3553 Just a String
后缀数组加二分可解. /* 3553 */ #include <iostream> #include <sstream> #include <string> #in ...
- bzoj4028
一眼分块题…… 分块,维护每个块的总的gcd和xor和 先思考我们应该怎么查询,考虑到gcd是一个神奇的东西,因为它最多变化logX次 于是我们从前往后扫描每个块,如果一个块内总的gcd是当前扫描的前 ...
- UVa 101 (模拟) The Blocks Problem
题意: 有n个木块及n个木块堆,初始状态是第i个木块在第i个木块堆上.对应有四种操作,然后输出最终状态. 分析: 用一个vector<int>模拟一个木块堆,进行相应操作即可. #incl ...
- apache开源项目--OpenMeetings
OpenMeetings是一个多语言可定制的视频会议和协作系统.它支持音频.视频,能让你查看每个与会者的桌面.OpenMeetings还包含一个白板,通过白板可以导入各种格式的图片和涂鸦. 在线演示: ...
- table点击一行显示下一行的特效
效果体验:http://sandbox.runjs.cn/show/rw4vq8zo <!doctype html> <html> <head> <meta ...
- 远程调试hadoop各组件
远程调试对应用程序开发十分有用.例如,为不能托管开发平台的低端机器开发程序,或在专用的机器上(比如服务不能中断的 Web 服务器)调试程序.其他情况包括:运行在内存小或 CUP 性能低的设备上的 Ja ...
- HDU 1394-Minimum Inversion Number(BIT)
题意: 给你n个数字的序列 每次把第一个数字放到最后 得到一个新序列 一共有n个序列求这些序列中哪个序列含最小的总的逆序数 (输出最小总逆序数) 分析: 用BIT求出初始各数的逆序数,第一个数放最后它 ...
- Hackers' Crackdown( UVA UVA 11825状压dp)
题意:N台电脑,现在有N种服务,现在你可以在每台电脑终止一项服务,他和他相邻的电脑都会被关闭,如果一项服务在所有电脑都没运行,该项服务成功被破坏,问最多能破坏几种服务. 分析:把n个集合分成尽量多组, ...