點擊按鈕加載更多(js)

/*初始化*/
var counter = 0; /*計數器*/
var pageStart = 0; /*offset*/
var pageSize = 5; /*size*/

/*獲取地址欄id*/
var id = getUrlSearch("id");

/*首次加載*/
getData(pageStart, pageSize, id);

/*點擊加載更多*/
function loading() {
	counter++;
	pageStart = counter * pageSize;
	getData(pageStart, pageSize, id);
}

/*請求接口渲染數據*/
function getData(offset, size, id) {
	$.post(U('api/Inventory/get_shelf_one_api'), {
		'id': id,
	}, function(data) {
		console.log(data);
		var data = data.introduce;
		var sum = data.length;
		var result = '';

		if(sum - offset < size) {
			size = sum - offset;
		}

		/*使用for循環模擬SQL裏的limit(offset,size)*/
		for(var i = offset; i < (offset + size); i++) {
			result += '<tr>' +
				'<td style="text-align: center;">' + data[i].brand + '</td>' +
				'<td>' + data[i].car_type + '</td>' +
				'</tr>';
		}

		$('.floated_list').append(result);

		/*隱藏more按鈕*/
		if((offset + size) >= sum) {
			$(".loading").hide();
		} else {
			$(".loading").show();
		}
	})
}

//獲取url多個參數
function getUrlSearch(name) {
	// 未傳參,返回空
	if(!name) return null;
	// 查詢參數:先通過search取值,如果取不到就通過hash來取
	var after = window.location.search;
	after = after.substr(1) || window.location.hash.split('?')[1];
	// 地址欄URL沒有查詢參數,返回空
	if(!after) return null;
	// 如果查詢參數中沒有"name",返回空
	if(after.indexOf(name) === -1) return null;
	var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
	// 當地址欄參數存在中文時,需要解碼,不然會亂碼
	var r = decodeURI(after).match(reg);
	// 如果url中"name"沒有值,返回空
	if(!r) return null;

	return r[2];
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章