客户要求当前这篇文章是当前文章就高亮显示,其实这类问题经常会用到,例如当前栏目高亮,导航显示当前所属高亮等,但是当前文章高亮其实还是很少能用到的。
例如当前栏目高亮:
{dede:channel type='top' row='10' currentstyle="<li class='hover'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
<li><a href='[field:typelink/]' [field:rel/]><span>[field:typename/]</span></a></li>
</dede:channel>
但是当前文章高亮,如果是用 dedecms 自带的标签是肯定没有办法解决的。 大家肯定想到了,那我们就来修改 php 代码,这肯定是可以实现,但是问题也来了,问题 dedecms 一升级怎么办呢?一般我们处理客户网站能不通过修改 php 解决的问题一般不要去动,因为后期维护会出现很多麻烦。其实当前栏目高亮也可以很简单的用 js 来实现。
jquery 代码简洁,首先我们要循环显示出来当前的文章,每篇文章。带上自己文章的 id.这个很好理解吧,好了,我们又上代码了:
<li><a href='[field:arcurl/]' id='a_[field:id/]'>[field:title/]</a></li>
再接着我们要做一个记号,就是告诉程序,现在当前文章的 id 是多少。
<input type="hidden" value="{dede:field.aid/}" id="aaid">
这个就是将当前的文章的 id 记录下面,放在一个隐藏的 value 里面。然后上代码:
<script>
$(document).ready(function(){
var cid=$("#aaid").val();
$("#a_"+cid).attr("style","color:#fff;");
});
</script>
相信大家都懂的,很好理解。效果已经达到了,大家能理解了吧。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!