找回密码
 立即注册

QQ登录

只需一步,快速开始

Grayson.Shang 活字格认证 Wyn认证
超级版主   /  发表于:2024-8-5 15:39  /   查看:907  /  回复:0
本帖最后由 Grayson.Shang 于 2024-8-5 17:29 编辑

从标题上,大家就可以了解到这个帖子的内容是做什么了。


展开到指定层级,不知道大家是否陌生,其实活字格用的时间长了,应该会对这个功能有印象,但未必知道具体是哪里有使用到。

揭晓答案,那就是树形图
image.png752590636.png

而菜单中,并没有这个功能,不过没有这个功能也是可以理解的,因为一般情况下为了样式的好看,菜单并不推荐在页面初始就展开,不过既然都有全部展开这个功能了,也就会有格友使用,那么当层级比较多,比如层级超过3个时,对客户的体验并不友好,那就就会用到这个展开到指定层级。

废话不多说,直接看看如何实现这个功能。
1、将菜单的展开折叠设置为,“全部收起”
image.png833771362.png

2、给需要设置的菜单先设置上对应的CSS类名,比如设置“mytest”
image.png878818054.png

3、在页面加载命令中(若是菜单在母版页也是可以的),增加一个JavaScript命令,内容如下
  1. let className = "mytest";
  2. let level = 2;

  3. for(i = 0; i < level - 1; i++) {
  4.     let $lis = $(`.${className} ul[level=${i}]>li`);
  5.     // 设置标签状态
  6.     let $a = $lis.children("a");
  7.     $a.attr("isexpand", true);

  8.     // 更改图片状态,添加class down
  9.     $a.children("i").addClass("down");

  10.     // 设置子标签显示
  11.     let $ul = $lis.children("ul");
  12.     $ul.css("display", "");
  13. }
复制代码
代码解析,通过css类名定位到需要修改菜单的层级,设置分别修改三个属性
  • 当前层级菜单的展开状态
  • 当前菜单的展开图片状态
  • 子菜单的是否隐藏状态


这样就可以达成在页面加载完成后,是菜单展开到指定节点了,可以通过修改JS,开始的两个变量值,动态设置展开的指定层级
最终效果如下
image.png338922423.png



菜单展开到指定层级.fgcc

557.64 KB, 下载次数: 73

评分

参与人数 1满意度 +5 收起 理由
青淮 + 5

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部