jQuery+Ajax滚屏异步加载数据实现(附源码)
一、CSS样式
         body { font:12px/1.0em Microsoft Yahei; line-height:1.6em; background:#fff; line-height:1.2em; padding:0 10px; }
         html,body,div { margin:;}
         .container { height:900px;}
         .load-btn { display:block; text-align:center; padding:5px 10px; border:1px #eee solid; background:#f5f5f5;}
二、HTML代码
<div class="container"></div>
<a href="javascript:void(0)" class="load-btn load-more">查看更多</a>
<input type="hidden" name="PageIndex" value="1" />
三、Javascript代码
<script type="text/javascript">
$(function () {
var $page = $("input[name='PageIndex']"); //页索引 //初始化
Data.init(10); //滚动加载
$(window).scroll(function () {
Data.scroll($page.val(), 10);
}); //手动加载
$(".load-more").bind("click", function () {
Data.load($page.val(), 10);
});
}) var Data = {
init: function (rows) {//初始化,载入第一页数据
Data.load(1, rows);
},
setPage: function () {//数据载入成功,设置下一页索引
var $page = $("input[name='PageIndex']");
var index = parseInt($page.val()) + 1;
$page.val(index);
},
scroll: function (page, rows) {//滚动到底部加载数据
var top = $(window).scrollTop();
var win = $(window).height();
var doc = $(document).height();
if ((top + win) >= doc) {
Data.load(page, rows);
}
},
load: function (page, rows) {//载入数据方法
var $msg = $('.load-btn');
$msg.removeClass('load-more').text('正在载入数据...');
$.post("ajax.php?page=" + page + "&rows=" + rows + "&t=" + (new Date().getTime()), function (data) {
data = $.parseJSON(data);
if (data != null || data.length > 0) {
Data.append(data);
Data.setPage();
$msg.addClass('load-more').text('查看更多');
return true;
}
$msg.removeClass('load-more').text('已加载全部数据!');
return false;
});
$msg.removeClass('load-more').text('数据加载失败!');
window.setTimeout(function () {
$msg.addClass('load-more').text('查看更多');
}, 2000);
return false;
},
append: function (json) {//构造html,并填充
var $container = $('.container');
$.each(json, function (i) {
html += "<div class=\"item\"><a href=\"item.php?id=" + json[i].id + "\" title=" + json[i].title + ">" + json[i].title + "</a></div>";
});
$container.append(html);
}
}
</script>
下载地址:http://files.cnblogs.com/wyguo/jquery_ajax_scroll_to_load_data.zip
jQuery+Ajax滚屏异步加载数据实现(附源码)的更多相关文章
- jquery easyui easyui-treegrid 使用异步加载数据
		
jquery easyui easyui-treegrid 使用异步加载数据 jquery easyui easyui-treegrid 异步请求 >>>>>>&g ...
 - Android必学-异步加载+Android自定义View源码【申明:来源于网络】
		
Android必学-异步加载+Android自定义View源码[申明:来源于网络] 异步加载地址:http://download.csdn.net/detail/u013792369/8867609 ...
 - ArcGIS紧凑型切片读取与应用2-webgis动态加载紧凑型切片(附源码)
		
1.前言 上篇主要讲了一下紧凑型切片的的解析逻辑,这一篇主要讲一下使用openlayers动态加载紧凑型切片的web地图服务. 2.代码实现 上篇已经可以通过切片的x.y.z得对应的切片图片,现在使用 ...
 - 微信小程序中如何实现分页下拉加载?(附源码)
		
转眼间坚持写教你微信小程序系列已经有十节系列课程了,每天的工作压力繁重,小女子也不知道自己还能坚持这样的系列教程多久.只希望每篇教程真的对大家有帮助.这节课我们要介绍的就是如何实现分页的下拉加载,我们 ...
 - arcgis api 4.x for js 结合 react 入门开发系列react全家桶实现加载天地图(附源码下载)
		
基于两篇react+arcgis的文章介绍,相信大家也能体会两者的开发区别了.在“初探篇”中作者也讲述了自己的选择,故废话不多说,本篇带大家体验在@arcgis/webpack-plugin环境下,使 ...
 - 【Android初级】如何实现一个“模拟后台下载”的加载效果(附源码)
		
在Android里面,后台的任务下载功能是非常常用的,比如在APP Store里面下载应用,下载应用时,需要跟用户进行交互,告诉用户当前正在下载以及下载完成等. 今天我将通过使用Android的原生控 ...
 - 淘宝购物车页面 智能搜索框Ajax异步加载数据
		
如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...
 - Jquery zTree结合Asp.net实现异步加载数据
		
zTree结合Asp.net实现异步加载数据 实现简单操作 zTree 下载 api 访问 :http://www.ztree.me/v3/main.php 例子中用到json数据转化 newtons ...
 - 向上滚动或者向下滚动分页异步加载数据(Ajax + lazyload)[上拉加载组件]
		
/**** desc : 分页异步获取列表数据,页面向上滚动时候加载前面页码,向下滚动时加载后面页码 ajaxdata_url ajax异步的URL 如data.php page_val_name a ...
 
随机推荐
- css之属性及剩余的选择符
			
今天的课程加速了,比平时快了些,但觉得很不错.nice~ 属性选择符 E[att] 选择具有att属性的E元素. input[type]{color: #red;} <input t ...
 - JQ中mouseover和mouseenter的区别
			
我最近也在学习JQuery,所以最近对JQ中的一些小问题进行总结,方便学习. 在对于刚开始学习JQ的初学者来说,mouseover事件和mouseenter事件总是傻傻分不清楚,毕竟刚开始学习的时候, ...
 - c#之第一课入门
			
这几天看到微软的build大会,感觉微软不甘落后他人,曾经的巨头难道又要重新崛起,不管了,为了以后的饭碗,还是简单学习一些c#吧,有时这种紧张感不错的,现在由于这种紧张感,我已经掌握的java(主要弄 ...
 - Android 解压boot.img
			
其实解压.打包boot.img没什么难度一看就会咯!! 1.先下附件:工具. 点击打开链接 6.0 KB, 下载次数: 60) 解压到bin文件夹里,方便以后使用. 2.解压boot ...
 - Codeforces Beta Round #17 C. Balance DP
			
C. Balance 题目链接 http://codeforces.com/contest/17/problem/C 题面 Nick likes strings very much, he likes ...
 - android 常用类
			
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自[张鸿洋的博客] 打开大家手上的项目,基本都会有一大批的辅 ...
 - iOS网络编程模型
			
iOS网络编程层次结构也分为三层: Cocoa层:NSURL,Bonjour,Game Kit,WebKit Core Foundation层:基于 C 的 CFNetwork 和 CFNetServ ...
 - Win10下E3-1231 V3开启Intel虚拟化技术(vt-x)安装HAXM
			
硬件配置: 技嘉G1 Sniper B6主板,Intel Xeon E3-1231 V3 CPU.主板和U都支持Intel的虚拟化技术,也在主板的设置界面打开了虚拟化支持,如下图: 使用CPU-V检测 ...
 - 使用ueditor小结
			
1. 导入 js: ueditor.config.js ueditor.all.js css/images/plugin: themes lang dialog(可选) third-party(可选) ...
 - Target runtime com.genuitec.runtime.generic.jee50 is not defined
			
导入别人的工程,发现报错Target runtime com.genuitec.runtime.generic.jee50 is not defined 解决方法:1. 找到工程目录的.setti ...