很多新手朋友在用织梦dedecms 做仿站时,经常问怎样实现导航栏被选中的样式,即当在首页时导航栏的“首页”就处 。
于选中状态,如下图:
图1 当在别的栏目时,导航栏中“首页”就不处于选中,所在栏目处于被选中状态,如下图:
其实做成这种状态很简单,通常我们在做织梦模板时,导航栏会放到头部模板head.htm中,假设图1中
导航栏,我们用的代码如下:
<li class="menu_on">
<a href="{dede:global.cfg_basehost/}">{dede:global.cfg_indexname/}</a>
</li>
{dede:channel type='top' row='10' currentstyle="<li class='menu_on'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
<li ><a href='[field:typeurl/]' [field:rel/]>[field:typename/]</a> </li>
{/dede:channel}
从代码中可以看到,首页所属的<li>标签中,有class="menu_on" ,这个样式就是显示被选中状态。其它栏目也需要显示被选中样式,所以需要用添加代码中红色的部分。
但如果我们除首页模板外其它的模板也调用这个head.htm ,当进入其它栏目,如图2中“图片模板”时,首页和图片模板两个栏目都会是被选中的。
所以解决的方法很简单,在做个head1.htm ,供除首页模板外其它模板调用,其代码如下:
<li >
<a href="{dede:global.cfg_basehost/}">{dede:global.cfg_indexname/}</a>
</li>
{dede:channel type='top' row='10' currentstyle="<li class='menu_on'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"}
<li ><a href='[field:typeurl/]' [field:rel/]>[field:typename/]</a> </li>
{/dede:channel}
你可能已经看出来了,这次的代码和上次的代码仅仅是首页<li>标签中去掉了class="menu_on" ,这样就能做出这中效果了,很简单吧。
(责任编辑:好模板) |