Dedecms(织梦CMS)子栏目高亮操作

前言

继续来说说织梦(坑爹)CMS的问题吧。

场景:

企业动态下,分别有如下六个栏目:

clipboard.png

要求点击到哪个栏目,哪个栏目则高亮显示

本来嘛,这不是so easy吗?(这里指PHP的其他cms)

但是对于dede,我上网看了半天,标签调用方法都尝试了,貌似没戏,当然,涉及到改源码一律忽略,没必要。(浪费时间,增加风险)

那么问题来了,怎么在短时间内解决这个问题呢?

方案

这里能想到最简单省事的就是使用Js了,当然,有人说你在栏目中判断id不就行了吗?是啊,但是id不能写死啊,否则后期用户更改栏目岂不是不灵活了。

好了,说正事。

下面是我上面调用的第一张图的html代码:

    <div class="neibu_til" current_typedir="{dede:field name='typedir'/}">
        <ul>
            {dede:channelartlist typeid="14"}
                <li typedir="{dede:field name='typedir'/}">
                    <a href="{dede:field name='typeurl'/}">
                        <div>{dede:field name='typename'/}</div>
                        <span>&nbsp;</span>
                    </a>
                </li>
            {/dede:channelartlist}
        </ul>
    </div>

结构很简单,就是一个栏目列表的循环,循环中设置一个属性,获取到当前循环到的栏目的typedir(栏目存放目录),然后还获取到当前页面的typedir,下面用js进行比较,起码typedir是不会错的。

下面是js的代码,因为还涉及到hover的效果,所以代码中有一部分是hover的:

    $(function(){
        // 初始效果
        checkMenu();

        // 移动效果
        $(".neibu_til li").hover(function(){
            $(this).siblings().find("span").attr("class","");
            $(this).find("span").attr("class","ing");
        },function(){
            $(this).find("span").attr("class","");
            checkMenu();
        });
        
        function checkMenu()
        {
            var the_cur_dir = $('.neibu_til').attr('current_typedir').split('/').pop();
            $(".neibu_til").find("li").each(function(){
                var dir_last = $(this).attr('typedir').split('/').pop();
                if (dir_last == the_cur_dir) {
                    $(this).find('span').attr('class','ing');
                }
            });
        }
    })

总结

好了,长话短说,就这么多,希望在这个不愉快的周六能给大家带来些许愉快吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值