您当前的位置:首页 > 帝国CMS教程

帝国cms利用JS使当前栏目无限级高亮控制

来源:帝国CMS教程发布者:帝国CMS模板网时间:2011-09-11

首先我们要用到灵动标签从数据库取出对应的栏目名称:
一、若要取出所有的最顶级的栏目名称选择:bclassid=0,其中 id="cid<?=$bqr[classid]?> 就是要拿到当前页面的ID值
[e:loop={'select classid,classname,classpath from [!db.pre!]enewsclass where bclassid=0 and showclass=0 order by myorder',0,24,0}]

<li id="cid<?=$bqr[classid]?>" <?=currentPage($GLOBALS[navclassid],$bqr[classid])?>>

<a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" target="_self" ><?=$bqr[classname]?></a>

</li>

[/e:loop]

二、若要取出固定的栏目:可以将bclassid=59,这个值就是你的父栏目的ID值,其中 id="cid<?=$bqr[classid]?> 就是要拿到当前页面的动态ID值,生成的字符是cid28,cid29,cid30等等。

[e:loop={'select classid,classname,classpath from [!db.pre!]enewsclass where bclassid=59 and showclass=0 order by myorder',0,24,0}]

<li> <a id="cid<?=$bqr[classid]?>" href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" target="_self" >

<?=$bqr[classname]?>

</a> </li>

[/e:loop]

把js在其下面加载,JS代码如下,其中cur2 就是你的定住并要显示高亮的样式,不过多赘述。

<script type="text/javascript">

                                var myid = document.getElementById('cid[!--self.classid--]');

                                myid.className = 'cur2';

                        </script>

变量说明:
[!--self.classid--] 代表当前的栏目ID数值
<?=$bqr[classid]?> 代表栏目ID

其他方法参考:
首先要在userfun.php文件中加如下代码:


function currentPage($classid,$thisid){

        global $class_r;

        $fr=explode('|',$class_r[$classid][featherclass]);

        $topbclassid=$fr[1]?$fr[1]:$classid;//取得第一级栏目id

        if ($topbclassid==$thisid) {

                  echo "class='menuon'";

                }

else {

}

}

function OnePage($classid,$thisid){

        global $class_r;

        $fr=explode('|',$class_r[$bclassid][featherclass]);

        $topbclassid=$fr[1]?$fr[1]:$classid;//取得子栏目id

        if ($topbclassid==$thisid) {

                  echo "bmenuon";

                }

                else {

                }

}


<ul>

<li class="menuon"><a href="[!--news.url--]" target="_self">首页</a></li>

[e:loop={'select classid,classname,classpath from [!db.pre!]enewsclass where bclassid=0 and showclass=0 order by myorder',0,24,0}]

<li id="cid<?=$bqr[classid]?>" <?=currentPage($GLOBALS[navclassid],$bqr[classid])?>>

<a href="<?=$public_r[newsurl]?><?=$bqr[classpath]?>" target="_self" ><?=$bqr[classname]?></a>

</li>

[/e:loop]

</ul>