Infinite Ajax Scroll简称ias,从字面来理解是"无限的ajax滚动",其实就是一款jQuery滚动分页插件(页面滚动到最底部自动异步加载数据),本博客有段时间的分页就是利用这个插件来做的。
作者也是刚刚接触这个插件,下面把自己了解的插件使用方法给大家介绍一下,说的不对的地方还请指正。
1、利用这个插件分页的示例网站:36氪,有兴趣的话可以看下。
2、插件下载:点击下载。
3、插件的使用前提:网站必须实现分页即网页中必须有分页代码,在分页代码中必须包含下一页的按钮或链接。
4、插件的使用方法:页面中必须引入jquery-ias.js脚本文件,最好引入jquery.ias.css样式文件。
5、插件参数简介
(1)、container:容器,所有数据的最外层元素(下图中class为artList的ul)。
(2)、item:项,每一条数据的最外层元素(下图中class为dataItem的li)。
(3)、pagination:分页,分页代码最外层元素(下图中class为m_page的section)。
(4)、next:下一页,分页代码中的下一页按钮或链接(下图中id为nextPage的li下的a元素)。
(5)、loader:加载,数据在加载过程中提示的内容(可以是文本、图片或图文结合)。
(6)、triggerPageThreshold:触发分页的阈值,是数字,当 当前页码等于这个值 鼠标再滚动时 页面就会显示trigger属性设置的值,可以利用这个属性和trigger属性实现上一页、下一页的分页功能,不过可能要改写插件中get_trigger方法。
(7)、trigger:当 当前页码等于triggerPageThreshold属性的值 鼠标再滚动时 此属性设置的内容将会在页面中显示。
(8)、beforePageChange:页码改变前,加载数据之前调用的函数,在这个函数中可以判断是否到了最后一页,如果不希望再加载数据,函数返回false即可。
6、作者对这个插件的了解仅限于上面介绍的这些,有兴趣的童鞋可以自行研究并和作者交流。
7、示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
jQuery(
function
($){
var
_gaq = _gaq || [];
//页码计数器
var
pageCount = 1;
jQuery.ias({
container:
'.artList'
,
item:
'.dataItem'
,
pagination:
'.m_page'
,
next:
'#nextPage a'
,
loader:
"<img src='/img/front/loader.gif' /><font size='5'>正在拼命的为您加载</font>"
,
trigger:
'拼命的为您加载完了所有内容'
,
triggerPageThreshold:<%$pages%>,
beforePageChange:
function
(curScrOffset, nextPageUrl){
pageCount++;
//总页数
var
pages = parseInt(
'<%$pages%>'
, 10);
if
(pageCount <= pages)
return
true
;
jQuery(
".artList"
).css({
'padding-bottom'
:
'91px'
});
return
false
;
}
});
});
Infinite Ajax Scroll 可将你现有的网页变成支持无限滚动的页面,无需太麻烦就可搞定。仔细研究后发现该插件正是我所需,而且结构很简单,如果你现在的页面已经实现了分页功能的话,那么很容易的就能把它变成支持无限滚动的页面,现有的页面几乎不需要做任何改动,只需要引用相关的js文件,然后配置如下的js: 1: jQuery.ias({
2: container : ".listing", 3: // Enter the selector of the element containing 写入容器的元素<selector> 4: // your items that you want to paginate. 具体数据的元素标识 5:
6: item : ".post", 7: // Enter the selector of the element that each 要加载数据的元素标识 8: // item has. Make sure the elements are inside 用来提取下一页信息里面的元素 9: // the container element. 从而加载到上面的容器中 10:
11: pagination : "#content .navigation", 12: // Enter the selector of the element that contains 分页信息的容器元素标识 13: // your regular pagination links, like next, 即:首页,上一页,下一页,尾页等信息的容器。 14: // previous and the page numbers. This element 15: // will be hidden when IAS loads. 16:
17: next : ".next-posts a", 18: // Enter the selector of the link element that 下一页的元素标识,用来获取下一页的信息元素 19: // links to the next page. The href attribute 20: // of this element will be used to get the items 21: // from the next page. 22:
23: loader : "images/loader.gif" 24: // Enter the url to the loader image. This image 数据进行提取加载的时候显示的图片 25: // will be displayed when the next page with items 26: // is loaded via AJAX. 27: });
|