很多新手朋友在用织梦做仿站时,经常问怎样实现导航栏被选中的样式,即当在首页时导航栏的“首页”就处于选中状态当在别的栏目时,导航栏中“首页”就不处于选中,所在栏目处于被选中状态。

其实做成这种状态很简单,通常我们在做织梦模板时,导航栏会放到头部模板head.htm中,我们用的代码如下:

<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 ,当进入其它栏目,首页和图片模板两个栏目都会是被选中的。

所以解决的方法很简单,在做个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” ,这样就能做出这中效果了,很简单吧。