问题描述:通过本文章将实现鼠标焦点事件,以及当前栏目导航加亮效果,如下图:
问题分析:导航条是由“根栏目列表”标签控制输出,编辑该标签注意以下两句代码: <xsl:if test="pe:GetNodeInfo($currentId,'RootId') = RootID"> <xsl:attribute name="class">current</xsl:attribute> </xsl:if> 我们可以依据此判断语句获得当前栏目焦点样式,只要加以设置current的风格样式,即实现栏目导航的加亮效果,没有以上代码请在标签输出之前,xsl:template之后加上此判断。 问题解决:
1.首先我们先在模板项所指定的css样式表中添加以下css: .menu a:hover, .menu a.current{color:#fff;background-color:red;}
当然,也可以直接修改“根栏目列表”标签中的判断语法项,如下: <xsl:if test="pe:GetNodeInfo($currentId,'RootId') = RootID"> <xsl:attribute name="style">color:#fff;background-color:red;</xsl:attribute> </xsl:if>
2.标签调用: {PE.Label id="根栏目列表" currentId="<xsl:value-of select="$currentId"/>"/} 又因导航条项往往在“网站顶部”标签中使用,因此网站顶部标签必须为其设置参数currentId,用于获取当前栏目id值供“根栏目列表”标签调用判断;网站标签在首页,栏目页,内容页获取当前栏目id值各有不一,以下分别给出三种页面的不同写法: 网站首页:{PE.Label id="网站顶部" /} 栏目首页可以设置默认值 -2 栏目页:{PE.Label id="网站顶部" currentId="3036" /} 内容页:{PE.Label id="网站顶部" currentId="{PE.Field id="cone" fieldname="NodeID" /}" /} |