今天在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"});  
 
    - })