jquery移动端往下拉加载数据插件
2017-10-26 16:23
651 查看
jquery移动端往下拉加载数据插件
(function($){
var methods={
init:function(options){
var defaults={
page:1, //当前的页数
size:10, //加载的数据的条数
num:100, //总数据数
type:'POST', //ajax请求类型
ajax_data:{} //ajax请求的数据
},
//保护包默认参数。也就是defaults里面的参数
options=$.extend(true,defaults,options);
return this.each(function(){
var $this=$(this);
$this.data({
"page":options.page,
"size":options.size,
"type":options.type,
"num":options.num,
"ajax_data":options.ajax_data
})
$this.mCustomScrollbar("scrollTo",options.size,options.num);
})
},
scrollTo:function(size,num){
var $this=$(this);
//下拉加载更多
$(window).scroll(function () {
var scr_top = $(this).scrollTop();
var doc_height = $(document).height();
var win_height = $(this).height();
var page=$this.data("page");
if(page<Math.ceil(num/size)){
$("#pullUp").show();
if (scr_top + win_height == doc_height) {
$("#pullUp").addClass('loading').find(".pullUpLabel").text("玩命加载中...");
setTimeout(function(){
page++;
console.log(page);
$this.data({"page":page});
$this.mCustomScrollbar("doAjax",page);
$("#pullUp").removeClass('loading').find(".pullUpLabel").text("上拉加载更多");
},1500);
clearTimeout();
}
}else if(page==Math.ceil(num/size)){
$("#pullUp").hide();
}
});
},
doAjax : function(page){
var $this=$(this),
type=$this.data("type"),
data=$this.data("data");
$.ajax({
url: 'index.php?m=default&c=integralCard&a=index&page='+page,
type: type,
data:data,
success: function(res){
//动态调用
getData(res);
}
});
}
}
$.fn.mCustomScrollbar=function(method){
if(methods[method]){
//Array.prototype.slice.call(arguments, 1)可以理解成是让arguments转换成一个数组对象,让arguments具有slice()方法。
return methods[method].apply(this,Array.prototype.slice.call(arguments,1));
}else if(typeof method==="object" || !method){
return methods.init.apply(this,arguments);
}else{
$.error("Method "+method+" does not exist");
}
};
})(jQuery);
function getData(data){
console.log(data)
}
(function($){
var methods={
init:function(options){
var defaults={
page:1, //当前的页数
size:10, //加载的数据的条数
num:100, //总数据数
type:'POST', //ajax请求类型
ajax_data:{} //ajax请求的数据
},
//保护包默认参数。也就是defaults里面的参数
options=$.extend(true,defaults,options);
return this.each(function(){
var $this=$(this);
$this.data({
"page":options.page,
"size":options.size,
"type":options.type,
"num":options.num,
"ajax_data":options.ajax_data
})
$this.mCustomScrollbar("scrollTo",options.size,options.num);
})
},
scrollTo:function(size,num){
var $this=$(this);
//下拉加载更多
$(window).scroll(function () {
var scr_top = $(this).scrollTop();
var doc_height = $(document).height();
var win_height = $(this).height();
var page=$this.data("page");
if(page<Math.ceil(num/size)){
$("#pullUp").show();
if (scr_top + win_height == doc_height) {
$("#pullUp").addClass('loading').find(".pullUpLabel").text("玩命加载中...");
setTimeout(function(){
page++;
console.log(page);
$this.data({"page":page});
$this.mCustomScrollbar("doAjax",page);
$("#pullUp").removeClass('loading').find(".pullUpLabel").text("上拉加载更多");
},1500);
clearTimeout();
}
}else if(page==Math.ceil(num/size)){
$("#pullUp").hide();
}
});
},
doAjax : function(page){
var $this=$(this),
type=$this.data("type"),
data=$this.data("data");
$.ajax({
url: 'index.php?m=default&c=integralCard&a=index&page='+page,
type: type,
data:data,
success: function(res){
//动态调用
getData(res);
}
});
}
}
$.fn.mCustomScrollbar=function(method){
if(methods[method]){
//Array.prototype.slice.call(arguments, 1)可以理解成是让arguments转换成一个数组对象,让arguments具有slice()方法。
return methods[method].apply(this,Array.prototype.slice.call(arguments,1));
}else if(typeof method==="object" || !method){
return methods.init.apply(this,arguments);
}else{
$.error("Method "+method+" does not exist");
}
};
})(jQuery);
function getData(data){
console.log(data)
}
相关文章推荐
- 页面滚动动态加载数据,页面下拉自动加载内容 (jquery)
- jQuery实现模仿微博下拉滚动条加载数据效果
- JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)
- 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)
- 使用JQuery blockUI插件示例(加载数据时使用相当于updateprogress)
- 扩展了一棵jquery的树插件SimpleTree,加上了json格式数据异步加载能力
- 借牛人代码一用 , 加载数据: 结合Jquery插件获取Json数据----------jTemplates
- jquery实现瀑布流效果 jquery下拉加载新数据
- jquery瀑布流布局插件,兼容ie6不支持下拉加载,用于制作分类卡
- JS插件(1)--- autocomplete 异步加载下拉数据
- JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)
- 将jQuery Pagination分页插件用于不使用AJAX加载数据的页面
- bootstrap-select下拉搜索插件 动态加载自己数据的二级联动
- 【无限滚动加载数据】—infinite-scroll插件的使用---------下拉加载数据、无线滚动
- 设计一种前端数据延迟加载的jQuery插件(2)
- ztree插件的使用及列表项拖拽的实现(jQuery)+异步加载节点数据
- 集成iscroll 下拉加载更多 jquery插件
- jquery实现瀑布流效果 jquery下拉加载新数据
- JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)