今天在cms大学小编在Github上闲逛,发现了一个名为Infinite AJAX Scroll的开源项目,使用它来通过很简单的程序配置,就可以让帝国cms支持分页Ajax下拉无限加载功能。专程进行了测试,发现非常简单好用,这里分享给大家。
第一步:首先下载jquery-ias.min.js(下载地址)。
第二步:将 jquery-ias.min.js 文件放到网站根目录下的/js/文件夹,也就是路径为 /js/jquery-ias.min.js 。
第三步:在需要进行无限加载的页面,插入如下配置代码,这是插件运行的必要参数。
折叠JavaScript 代码
- <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script>
 - <script src="/js/jquery-ias.min.js"></script>
 - <script>
 - var ias = $.ias({
 - container: "#container",
 - item: ".scroll",
 - pagination: "#epages",
 - next: ".next"
 - });
 - ias.extension(new IASSpinnerExtension());
 - ias.extension(new IASNoneLeftExtension({html: '<div class="blank20"></div><div style="text-align:center"><p><em>后面已经没有数据了</em></p></div>'}));
 - </script>
 
第四步:在需要无限加载的页面所属列表模板中,写入以下代码,这里要注意容器id和容器class类的对应,否则会出错。
折叠PHP 代码
- <div id="container">
 - <ul class="scroll">
 - [!--empirenews.listtemp--]
 - <!--list.var1-->
 - [!--empirenews.listtemp--]
 - <span class="blank20"></span>
 - </ul>
 - </div>
 - <span class="blank20"></span>
 - <div id="epages">
 - [!--show.listpage--]
 - </div>
 
第五步:打开 /e/class/t_functions.php 文件,在第129行(帝国cms7.2UTF8版本),或搜索以下代码
折叠PHP 代码
- $nextpage=' <a href="'.$nextpagelink.'">'.$fun_r['nextpage'].'</a>';
 
替换为
折叠PHP 代码
- $nextpage=' <a href="'.$nextpagelink.'" class="next">'.$fun_r['nextpage'].'</a>';
 
到这里就结束了,快试试无限加载的效果吧!
另外还有一点需要补充,如果页面上启用了Lazyload懒加载插件,在第二页开始之后的页面图片会造成加载不出来,在配置参数中加入下面的代码即可解决:
折叠JavaScript 代码
- ias.on('rendered',function(items){
 - $("img.lazy").lazyload({effect:"fadeIn"});//这里是你调用Lazyload的代码
 - })
 

