帝国CMS自带的内容分页标签为[!--page.url--],在制作多终端模板的时候,[!--page.url--]在手机端就会显得太长了,如果删掉一些[!--page.url--]在电脑端又显得太短。
完美的方法是自定义一个分页函数,在对于新手朋友太难,这里精准像素分享一个简单的方法,利用JS来完成,不太完美但基本功能都能实现。
手机版大致效果是这样
下面来说说代码,首先是模板代码
<div class="contentpage"> <span class="pre">上一张</span> <b class="nub"></b> <span class="next">下一张</span> <div id="page">[!--page.url--]</div> </div>
然后是JS,
<script> var num = $("#page").find("em").text(); $(".nub").text(num); $(".pre").click(function(){ var url = $("#page").find("b").prev().attr("href"); if(url){ window.location.href=url; }else{ $(this).text("没有了") } }) $(".next").click(function(){ var url = $("#page").find("b").next().attr("href"); if(url){ window.location.href=url; }else{ $(this).text("没有了") } }) </script>
最后是内容分页函数代码,在/e/class/t_functions.php里面
//返回内容分页 function sys_ShowTextPage($totalpage,$page,$dolink,$add,$type,$search=""){ global $fun_r,$public_r; if($totalpage==1) { return ''; } $page_line=$public_r['textpagelistnum']; $snum=2; //$totalpage=ceil($num/$line);//取得总页数 $firststr='<em>'.$page.'/'.$totalpage.'</em>'; //上一页 if($page<>1) { $toppage='<a href="'.$dolink.$add[filename].$type.'">'.$fun_r['startpage'].'</a>'; $pagepr=$page-1; if($pagepr==1) { $prido=$add[filename].$type; } else { $prido=$add[filename].'_'.$pagepr.$type; } $prepage='<a href="'.$dolink.$prido.'">'.$fun_r['pripage'].'</a>'; } //下一页 if($page!=$totalpage) { $pagenex=$page+1; $nextpage='<a href="'.$dolink.$add[filename].'_'.$pagenex.$type.'">'.$fun_r['nextpage'].'</a>'; $lastpage='<a href="'.$dolink.$add[filename].'_'.$totalpage.$type.'">'.$fun_r['lastpage'].'</a>'; } $starti=$page-$snum<1?1:$page-$snum; $no=0; for($i=$starti;$i<=$totalpage&&$no<$page_line;$i++) { $no++; if($page==$i) { $is_1="<b>"; $is_2="</b>"; } elseif($i==1) { $is_1='<a href="'.$dolink.$add[filename].$type.'">'; $is_2="</a>"; } else { $is_1='<a href="'.$dolink.$add[filename].'_'.$i.$type.'">'; $is_2="</a>"; } $returnstr.=''.$is_1.$i.$is_2; } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage; return $returnstr; }
CSS代码就不分享了,自己些吧。