上拉加载、下拉刷新模块

># 更新:小编在使用上拉加载和下拉刷新的时候发现官方已经将加载等待机制完善,所以下面的load可以不用添加 2017-03-14


当在快速滑动屏幕时,可能上拉加载可能会有bug出重复数据

<script type="text/javascript">
	apiready = function() {
		api.parseTapmode();
		
		//下拉刷新动作
		api.setRefreshHeaderInfo({
			visible: true,
			bgColor: "#F0F0F0",
			textDown: "下拉刷新...",
			textUp: "松开刷新...",
			showTime: true
		}, function(ret, err) {
			showProgress();
			article_listCon(true);
		});
		
		//上拉加载/start
		article_listCon(true); //第一次上拉加载
		//上拉显示更多数据
		api.addEventListener({
			name: "scrolltobottom",
		}, function(ret, err) {
			article_listCon(false);
		});
		//上拉加载/end
	}
	//doT插入模板内容
	function fnList_terms(data_) {
		var apendText = $api.byId("MgT").text;
		var fnapendText = doT.template(apendText);
		var html = fnapendText(data_);
		var list = $api.dom(".boss");
		$api.append(list, html);
	}
	
	//该分类下的文章列表
	var limit = 1; 			//文章数据每页显示数目
	var start = 0;  			//文章数据起始值
	var uid	= getUser();		//当前用户
	var load;			//判断是否重复加载
	function article_listCon(reload_) {
		if(reload_) {
			start = 0;
		}
		var term_id = api.pageParam.term_id; //文章分类id
		ajax({
			url: ********,
			method: "get",
			cache: true,
			timeout: 30,
			dataType: "json",
			data: {
				values: {
					term_id: term_id,
					limit: limit,
					start: start,
					uid: uid
				}
			}
		}, function(ret, err) {
			if(ret.data.info) {				
				if(reload_) {
					$api.dom(".boss").innerHTML = "";
				}
				fnList_terms(ret.data.info); //获取资讯列表信息
				api.hideProgress();
			}else{
				api.toast({
					msg: "已经到底了!亲,歇息歇息吧!",
					duration: 2000,
					location: "bottom"
				});
				load = true;
			}
		});
        //在此判断 防止滑动过快执行错误
		if(!load){
			start += limit;	
		}
		
		//console.log("skip2:"+start);	//调试
		
		api.refreshHeaderLoadDone();	//加载完毕后停止下拉刷新
	}
</script>
文章导航