项目中菜单折叠问题

思路:根据访问的路径动态的设置菜单的折叠。前提是同一级菜单放大同一文件夹下面,根据文件夹的名字动态的设置菜单的class属性。

例如:

  我的一个url:

http://localhost/Exam/view/outDepart/outdepartEmpManage.jsp

  location.pathname获取到除去ip与端口的地址  /Exam/view/outDepart/outdepartEmpManage.jsp

$(function() {
    var u = location.pathname;

    u = u.substring(11, u.length);
    var fir = u.indexOf("/");
    var filename = u.substring(0, fir)
    // 删除class
    $(".mtree-active").removeClass("mtree-active mtree-open");
    if (filename == "innerDepart") {
        // 检索内部的url
        $(".mtree a").each(
                function(i) {
                    var url = $(this).prop("href");
                    if (url.toString().indexOf(filename) > 0) {
                        $(this).parents("[class^=‘mtree-level‘]").css({
                            display : "block",
                            height : "auto"
                        });
                        $(this).parents(".mtree-node").removeClass("mtree-closed");
                        $(this).parents(".mtree-node").addClass("mtree-open");
                        $(this).parents(".mtree-level-1").children(
                                ".mtree-open").addClass("mtree-active");
                    }

                });
    } else if (filename == "outDepart") {
        // 检索内部的url
        $(".mtree a").each(
                function(i) {
                    var url = $(this).prop("href");
                    if (url.toString().indexOf(filename) > 0) {
                        $(this).parents("[class^=‘mtree-level‘]").css({
                            display : "block",
                            height : "auto"
                        });
                        $(this).parents(".mtree-node").removeClass("mtree-closed");
                        $(this).parents(".mtree-node").addClass("mtree-open");
                        $(this).parents(".mtree-level-1").children(
                                ".mtree-open").addClass("mtree-active");
                    }

                });
    }else{
        // 检索内部的url
        $(".mtree a").each(
                function(i) {
                    var url = $(this).prop("href");
                    if (url.toString().indexOf(filename) > 0) {
                        $(this).parents("[class^=‘mtree-level‘]").css({
                            display : "block",
                            height : "auto"
                        });
                        $(this).parents(".mtree-node").removeClass("mtree-closed");
                        $(this).parents(".mtree-node").addClass("mtree-open mtree-active");
                    }

                });
    }
})

原文地址:https://www.cnblogs.com/qlqwjy/p/8313291.html

时间: 2024-11-07 00:17:12

项目中菜单折叠问题的相关文章

度量平台项目中菜单的含义及运用

1.菜单的含义 项目管理里面的菜单,主要是为这个项目的窗体.表单工作流等定义的功能菜单.在项目内建立的菜单,具有很好的移植性,可以随整个项目一起导到另一个开发平台,也可以单独在这里导出菜单. 2.菜单运用:2.1菜单设置 在平台中定义一个菜单有四种模式:程序集.智能窗体.表单流程.网页. 2.2程序集菜单配置 程序集:通俗一点讲,就是可以配置一个菜单出来调用我们外部的程序,包括.exe程序,或者DLL(动态库)文件,这个目的就是为了满足我们平台开发不出来的功能时借助外部工具开发后在放到我们平台中

在 Swift 项目中实现侧滑菜单-利用 SWRevealViewController

你可以完全自己手动写一个侧滑菜单,但是现在在 GitHub 上面已经有很多免费的开源库了,如果不是有很特别的需求,大可不必新建一个轮子. 在这里我使用的这个第三方库名字叫做 SWRevealViewController,作者是 John Lluch.这个免费的类库提供了很方便快捷的方法去把侧滑菜单加入到你的 App 里面,而且它还提供了很多个性化的设置项.它是用 Objective-C 来写的,但是我们也可以很方便的在 Swift 项目中去使用它.你分分钟便可学会如何使用. 首先来看一下我们的

自己编写jQuery插件 之 菜单折叠

菜单折叠这个功能很简单,很多人都有写过,只因它在项目中使用实在是太频繁了.代码就那么几行,没什么讲的,这里只是将其封装成插件而已. Html代码如下: <div class="box"> <p>菜单一</p> <ul> <li><a>1111</a></li> <li><a>1111</a></li> <li><a>11

在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)

最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,ShareSDK官网的文档比较分散,而且关于Unity的文档比较简略,所以还是有不少的坑.写篇博客分享一下,并加强理解记忆. 第一步,先去ShareSDK的官网下载最新版本的ShareSDK(完全免费).地址:http://www.mob.com/ 我们选择ShareSDK For Unity3D,页面会直

项目中遇到的某些问题及解决办法(一)

简介 该博文记录了一些平时在工作中遇到的问题及解决办法,某些问题有解决办法,某些问题暂时没有解决办法,如果有大神知道的,请多多指点. 如果某些问题有更好的解决办法,也请指教. 正文 1.在一个方法中用泛型操作两个不同的类型(Type). 难点:需要实现一个方法,进入参数一个泛型,返回信息一个泛型.但是一个方法中泛型只支持一种类型. 解决办法:将进入和返回放在一个类型中,用特性将进入参数和返回参数区分开. 2.微信三方登录,需要在PC桌面应用端+API服务实现. 难点:微信官网只提供了网页三方登录

Atitit.css 规范 bem &#160;项目中 CSS 的组织和管理

Atitit.css 规范 bem  项目中 CSS 的组织和管理 1. 什么是BEM?1 1.1. 块(Block)2 1.2. 元素(Element)2 1.3. BEM树(和DOM树类似).3 1.4. 修饰符(modifier)的3 2. 块的独立性4 3. 独立的CSS4 3.1. 为独立的CSS类命名5 4. BEM争议最大的就是它的命名风格 6 5. OOCSS6 6. ACSS6 7. CSS 组织和管理 结论attilax总结7 8. Atibem7 8.1. Modifier

Java 容器在实际web项目中应用

前言:在java开发中我们离不开集合数组等,在java中有个专有名词:"容器" ,下面会结合Thinking in Java的知识和实际开发中业务场景讲述一下容器在Web项目中的用法.可结合图片代码了解Java中的容器 备注 :这个地方 ,参考于朝向远方的博客Java容器详解,既然前人总结的这么好,我就直接拿来用,在这里更注重在实际开发中的例子,感谢那些总结的前辈们,辛苦了. 简单的数组例子 Thinking in Java 中并没有把数组归为Java的容器,实际上数组的确不是Java

【Atom】在一个中/大型项目中,那些好用而强大的atom功能

作为一个学生党,一开始使用atom时候并没有意识到atom一些小功能的巨大作用,直到自己实习参与了项目,才知道这些功能在一个项目中是能极大提高工作效率的开发利器 下面是一位不愿意透露其姓名的彭湖湾同学(其实就是我啦)的使用体会,我们姑且称之为W同学 1.通过关键字段全项目检索目标代码文件command+shift+F(mac)ctrl+shift+F(windows) [场景一]:W同学在tower(一个团队协作工具)上接到了一个小任务,他要在公司运营的一个站点上站点模块里,对一个公告栏的bug

主攻ASP.NET.4.5.1 MVC5.0之重生:在项目中使用zTree jQuery 树插件

效果图和json格式 Controllers代码 using HR.Models; using HR.Models.Repository; /************************************************************************************ * 命名空间:HR.Controllers * Controller: TreeController * 版本号: F 1.0.0.0 * 负责人: Markfan * 电子邮箱:[ema