JQ方法给织梦(dede)单独调用上一页和下一页“链接”
作者:秋了秋 发表时间:2015年10月09日
众所周知,dede列表页调用分页的标签代码是{dede:pagelist listitem="end,pre,next,end,*,*,*"/},前端调出的效果是首页,然后1,2,3,4,5,6最后末页,一句标签就调出了一大堆代码,很显然自定义是非常弱的,如果客户只要上一页和下一页的呢,而且还要加修饰和美化,这个标签显然是行不通的。那么该如何?修改系统代码,不会点php是不行的,后台一更新就白费劲了,网上找的都是这种办法,而且测试了好几个都行不通,实在没辙恰好想到大前端无所不能的jq,没错,就用它了。看招:
先写出html,就是调用的代码:
<ul id="pager"> <li class="pp1"><a href="/a/zuixinbaodao/list_3_1.html"><span></span></a></li> <li class="pp3"><a href="/a/zuixinbaodao/list_3_2.html"><span></span></a></li> </ul> <div class="list" style="display:none;">{dede:pagelist listitem="end"/}</div>
css可参考如下:
#pager {display: table;margin: 0 auto;margin-top: 10px;} #pager li{float:left;width: 50px;height: 30px;} #pager .pp1 {background:url(/templets/qiuye/images/qian1.jpg) no-repeat;} #pager .pp3 {background:url(/templets/qiuye/images/hou1.jpg) no-repeat;width: 120px;} #pager li span{display:block;width:100%;height:100%;}
先把初始的分页链接写到a标签里面,待会用jq来修改它。不知道初始链接就用dede自带的{dede:pagelist listitem="end,pre,next,end,*,*,*"/}调一遍看看。
有人看到{dede:pagelist listitem="end"/}这个标签了,对,这是dede的分页调用标签,但我只调用了最后一页end,而且把它给隐藏掉了。留着后面有用。
再来看看jq方法,看注释:
$(function(){ var $myurl=document.URL,//获取当前文档地址(例如//netblog.cn/a/zuixinbaodao/list_3_8.html),保存到变量$myurl $zhuurl=$myurl.split("list")[0],//对地址进行分离,分隔符为list,这个根据具体页面自己写,并取出第一个(//netblog.cn/a/zuixinbaodao/) $endurl=$(".list li a").attr("href").split("_")[2].split(".")[0],//同上,获取最后一页的数字。 $fuurl=$myurl.split("list_3_")[1].split(".")[0];//获取文档url分页的关键数字(8) if($zhuurl)//如果$zhuurl=true,则。。。 { if($fuurl>1)//如果分页数字大于1,则。。。确保不会出现404页面 {$(".pp1 a").attr("href",$zhuurl+"list_3_"+($fuurl*1-1)+".html");}//减一页 if($fuurl>$endurl)//如果分页数字小于最后一页的分页数字,则。。。确保不会出现404页面 {$(".pp3 a").attr("href",$zhuurl+"list_3_"+($fuurl*1+1)+".html");}//加一页 }
这么详细的注释还不会修改吗?别逗了!
1
文章作者: “秋了秋”个人博客,本站鼓励原创。
转载请注明本文地址:http://netblog.cn/blog/397.html