最新公告
  • 欢迎您光临 我爱模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境! 立即加入钻石VIP
  • 帝国cms利用JS使当前栏目无限级高亮控制

    正文概述 管理员   2025-09-05   4

    首先我们要用到灵动标签从数据库取出对应的栏目名称:

    一、若要取出所有的最顶级的栏目名称选择: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>

    我爱模板网 » 帝国cms利用JS使当前栏目无限级高亮控制

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?587cc1e5c052b5b0ce99533beff13c96"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元