网站列表加载更多效果,可以用jquery ias插件实现,这插件主要是把列表页的分页导航,改成加载更多的形式,点击就加载下一页的内容。如下图:
Infinite Ajax Scroll简称ias,从字面来理解是"无限的ajax滚动",其实就是一款jQuery滚动分页插件(页面滚动到最底部自动异步加载数据),主要就是用于滑动分页。目前利用这个插件分页网站比较有名的比如36氪。下面把自己综合网上资料整理的插件使用方法给大家介绍一下,方便大家参考也好留下来自己存档。
第一步:下载ias插件。下载地址:https://github.com/webcreate/Infinite-Ajax-Scroll。
第二步:页面引入jquery和ias插件,当然ias还有自己的样式jquery.ias.css,喜欢可以引用
<script type="text/javascript" src="js/jquery1.7.2.js"></script> <script type="text/javascript" src="js/jquery-ias.js"></script>
第三步:了解插件的功能和使用方法
ias以下面几种方式控制页面:
1、监听到达最后一个元素的滚动事件。
2、插入加载器图片。
3、用ajax加载下一页内容。
4、每一个新的元素都插入到最后一个元素的后面。
函数:ias参数介绍:(在这只是介绍几个重要的参数)
(1)、container:容器,很显然就是信息的HTML元素,可以理解为所有数据的最外层元素(如下图中class为artList的ul)。
(2)、item:项,也是HTML标签,确保他们放在container里面,可以理解为每一条数据的最外层元素(下图中class为dataItem的li)。
(3)、pagination:分页,做分页的时候,我们都会在页面上显示分页字符串,用的此技术时也应该有此功能,并赋值在页面上。该技术会自动将其隐藏。分页时会用的下一页的页码。可以理解为分页代码最外层元素(下图中class为m_page的section)。
(4)、next:下一页,分页代码中的下一页按钮或链接(下图中id为nextPage的li下的a元素)。
(5)、loader:加载器,数据在加载过程中提示的内容(可以是文本、图片或图文结合),比如点击下一页时的“正在加载……”字样,如不设置也会自动加上默认值。
(6)、triggerPageThreshold:触发分页的阈值,是数字,当当前页码等于这个值 鼠标再滚动时 页面就会显示trigger属性设置的值,可以利用这个属性和trigger属性实现上一页、下一页的分页功能,不过可能要改写插件中get_trigger方法。说简单些,这是个数值,一般设置为大于0,比如说我们设置为3.当我们滑动到第一页底部时,会自动加载下一页,直到第三页。
(7)、trigger:当 当前页码等于triggerPageThreshold属性的值 鼠标再滚动时 此属性设置的内容将会在页面中显示。
(8)、beforePageChange:页码改变前,加载数据之前调用的函数,在这个函数中可以判断是否到了最后一页,如果不希望再加载数据,函数返回false即可。
(9)、onPageChange:改变页码的事件发生时触发。
两点注意:
(1)、插件的使用前提:网站必须实现分页即网页中必须有分页代码,在分页代码中必须包含下一页的按钮或链接。
(2)、列表内容必须超过浏览器长度的范围,否则不起作用。
示例一:
jQuery(document).ready(function($) { var _gaq = _gaq || []; jQuery.ias({ container : '.list', item: '.blog', pagination: '.pagination', next: '.next_page a', loader: '载入更多...', trigger: 'next', onPageChange: function(pageNum, pageUrl, scrollOffset) { path = jQuery('<a/>').attr('href',pageUrl)[0].pathname.replace(/^[^/]/,'/'); _gaq.push(['_trackPageview', path]); } }); });
示例二:
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; } }); });
一个完整示例:
<?php header("Content-type:text/html;charset=utf-8"); $str = '这是测试'; if($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest"){ $page = $_REQUEST['page']; $page++; }else{ $page = 1; } $str = $str . $page; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="js/jquery1.7.2.js"></script> <script type="text/javascript" src="js/jquery-ias.js"></script> </head> <body> <div class="list"> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="blog"><?php echo $str;?></div> <div class="ias_loader1" style="display:none"><a href="#">已是最后一页</a></div> <div class="ias_loader"></div> <div class="ias_trigger"> <a href="#">next</a> </div> <div class="pagination"> <div class="next_page"> <a href="/?page=<?php echo $page;?>">next</a> </div> </div> </div> <script type="text/javascript"> jQuery(document).ready(function($) { var _gaq = _gaq || []; jQuery.ias({ container : '.list', item: '.blog', pagination: '.pagination', next: '.next_page a', loader: '载入更多...', trigger: 'next', beforePageChange:function(scrollOffset, nextPageUrl){ if(nextPageUrl.substr(-1,1) == 5){ jQuery(".ias_loader1").show(); return false; } }, onPageChange: function(pageNum, pageUrl, scrollOffset) { path = jQuery('<a/>').attr('href',pageUrl)[0].pathname.replace(/^[^/]/,'/'); _gaq.push(['_trackPageview', path]); } }); }); </script> </body> </html>
上一篇:雅黑PHP探针