实例点击

loadmore.js

/*
* 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的更多相关文章

  1. 第五天 loadmore

    mutating func loadFresh(completion: (result: APIResult<DeserializedType>) -> ()) -> Canc ...

  2. [ionic开源项目教程] - 第12讲 医疗模块的实现以及Service层loadMore和doRefresh的提取封装

    关注微信订阅号:TongeBlog,可查看[ionic开源项目]全套教程. 这一讲主要实现tab2[医疗]模块,[医疗]模块跟tab1[健康]模块类似. [ionic开源项目教程] - 第12讲 医疗 ...

  3. 拓展开源库SwipeToLoadLayout实现EmptyView和Empty时自动禁用LoadMore

    Android应用开发中,经常需要使用到界面的下拉刷新和上拉加载,在support v7之前,一般都是用ListView去做列表视图,而ListView对EmptyView是提供支持的,并且有许多开源 ...

  4. loadmore & scroll

    loadmore <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.m ...

  5. Vue-上拉加载与下拉刷新(mint-ui:loadmore)一个页面使用多个上拉加载后冲突问题

    所遇问题: 该页面为双选项卡联动,四个部分都需要上拉加载和下拉刷新功能,使用的mint-ui的loadmore插件,分别加上上拉加载后,只有最后一个的this.$refs.loadmore.onTop ...

  6. 移动端效果之LoadMore

    写在前面 列表一直是展示数据的一个重要方式,在手机端的列表展示又和PC端展示不同,毕竟手机端主要靠滑.之前手机端之前一直使用的IScroll,但是IScroll本身其实有很多兼容性BUG,想改动一下需 ...

  7. Vue mint ui用在消息页面上拉加载下拉刷新loadmore 标记

    之前总结过一个页面存在多个下拉加载的处理方式,今天再来说一下在消息页面的上拉加载和下拉刷新,基本上每个app都会有消息页面,会遇到这个需求 需求:每次加载十条数据,上拉加载下拉刷新,并且没有点击查看过 ...

  8. vue loadMore 上拉刷新不能实现的坑

    1.如果你写的代码没问题,但依然不能实现上拉刷新效果,那你有可能是缺少了overflow: scroll 2.如果上拉刷新一直在加载状态,需要调用this.$refs.loadmore.onBotto ...

  9. mint-ui loadmore使用方法和注意事项

    最好按照github里的例子ctrl+c => v 模版.js mint-ui/example/pages/pull-up.vue 注意设置:mt-loadmore组件:auto-fill='a ...

随机推荐

  1. objective-c 在线视频 学习资料...

    ---视频 http://www.lanou3g.com/newslist.php?cid=7 http://edu.51cto.com/lesson/id-15489.html http://www ...

  2. Some projects cannot be imported because they already exist in the workspace

    原文地址: Some projects cannot be imported because they already exist in the workspace - 浅尝辄止的博客 - 博客频道 ...

  3. Retrofit初识

    Retrofit Retrofit是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Ja ...

  4. VS下遇到未能加载文件或程序集 错误

    这个的错误原因可能是在64的系统上编译32位的应用程序,遇到这个错误,可以通过下面的手段解决! 1.关闭Visual Studio. 2. 在Visual Studio Tools子目录,以管理员身份 ...

  5. 程序员的自我修养(2)——计算机网络(转) good

    相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量 ...

  6. R语言学习笔记:查看函数的R源代码

    getAnywhere 该函数可以返回一些函数的R源代码,如: getAnywhere(kmeans) 该函数具体用法,请参看官方说明. Retrieve an R Object, Including ...

  7. 【转】Ubuntu乱码解决方案(全)

    转自:http://www.cnblogs.com/end/archive/2011/04/19/2021507.html ubuntu下中文乱码解决方案(全) 1.ibus输入法 Ubuntu 系统 ...

  8. COM, COM+ and .NET 的区别

    所有的优秀程序员都会尽自己的最大努力去使自己所写的程序具有更好的可重用性,因为它可以让你快速地写出更加健壮和可升级性的程序. 有两种使代码重用的选择: 1.白盒:最简单的一种,就是把你的程序片拷贝到另 ...

  9. 【HDOJ】4326 Game

    1. 题目描述一个长度为n个队列,每次取队头的4个人玩儿游戏,每个人等概率赢得比赛.胜者任然处在队头,然而败者按照原顺序依次排在队尾.连续赢得m场比赛的玩家赢得最终胜利.求第k个人赢得最终胜利的概率. ...

  10. 1414. Astronomical Database(STL)

    1414 破题 又逼着用stl 卡内存 trie树太耗了 水不过去 用set存字符串 set可以自己按一定顺序存 且没有重复的 再用lower_bound二分查找字符串的第一次出现 接着往后找就行了 ...