读源码metisMenu侧边栏插件hugh.dong

—————————————————————————————————————————————————————————

使用方法

实现效果

引入文件

//基于jquery实现

//使用bootstrap的collapse插件

//插件代码

调用方法

$(function(){$('#side-menu').metisMenu();//ul.nav#side-menu})

使用样例

<>

<>

@media(min-width:768px){.sidebar{position:absolute;width:250px;margin-top:51px;z-index:2;}}.sidebar.sidebar-search{padding:15px;}.sidebarullia.active{background-color:#eee;}.sidebarulli{background:#f8f8f8;border-bottom:#e7e7e71pxsolid;}.nav-second-levelli{border-bottom:0!important;}.nav-second-levellia{padding-left:38px;}

树形图

p.s.自定义样式用下划线表示

源码解读

调用

使用$.fn.extend(object)的方式为jquery类添加成员方法,功能封装在原型中,能够全局调用;

通过$("#side-menu")生成的jquery类实例来调用该方法;

初始配置

全局定义插件名称pluginName,定义对象defaults存放toggle(展开/闭合)与doubleTapToGo(双击事件)的开关;

样式

使用font-awesome来扩展侧边栏图标和展开标识(三角),引入font-awesome.css后只需要通过i.fa.fa-***来调用就可以了

基础布局通过bootstrap类实现,详细分支情况见属性图

初始化展开

借助bootstrap内置的collapse插件来实现;

通过检测来标识当前页对应的列表,在metisMenu.js中检查是否需要展开的列表;

判断激活的标签栏是否有子列表,如果有则添加.collapse.in类(bootstrap.css),实际为添加样式{display:block};

未被激活的标签栏如果有子列表则添加.collapse类(boostrap.css),{display:none};

监听点击事件

监听方法借助bootstrap的collapse插件;

绑定事件时需要遵循collapse插件规则.on("click"+"."+pluginName,function(e){});

为点击的标签栏添加激活样式.active,如果有子列表则展开/关闭,使用collapse插件方法.collapse("toggle");

闭合其他所有有子列表的标签栏,使用.collapse("hide");

简单版v1.0

功能

仅实现基础效果

复写代码

<>

/***Createdbyhughdon2017/8/9.*简单版-v1.0*仅实现基础折叠*/;(function($,window,document,undefined){varpluginName="metisMenu";vartoggle=true;functionPlugin(element,options){this.element=$(element);this.init();}Plugin.prototype={init:function(){var$this=this.element;//varobj=this;$this.find("li.active").has("ul").children("ul").addClass('collapsein');//初始激活的元素的后代全部展开$this.find('li').not(".active").has("ul").children("ul").addClass('collapse');//未激活的元素显示隐藏//监听点击事件$this.find("li").children("a").on("click."+pluginName,function(){//被点击的元素激活样式并展开$(this).parent('li').toggleClass('active').children("ul").collapse("toggle");if(toggle){//将其他被展开的元素闭合$(this).parent("li").siblings().removeClass("active").children("ul").collapse("hide");}});}}$.fn[pluginName]=function(options){//实例化Plugin对象,并存放在元素._proto_.metisMenu中this.data(pluginName,newPlugin(this,options));returnthis;}})(jQuery,window,document);

THE END
1.Sider:ChatGPT侧边栏下面是详细信息: 1并排使用:通过 Sider 的 ChatGPT 侧边栏,你可以在任何标签页上调出 ChatGPT,无需来回切换标签。这就是轻松实现多任务处理。 2 AI 游乐场:我们支持所有大牌——ChatGPT、o1、o1-mini、GPT-4、GPT-4o、GPT-4o mini、Claude 3.5 Sonnet 和 Google Gemihttps://microsoftedge.microsoft.com/addons/detail/sider-chatgpt%E4%BE%A7%E8%BE%B9%E6%A0%8F-vision/dhoenijjpgpeimemopealfcbiecgceod?eqid=87e53e130001ab1400000006646df06c
2.侧边栏布局和响应式布局的对比(SemiDesign)侧边栏布局: 通常将页面分为侧边栏(Sider)和主要内容区域(Content)。 侧边栏通常用于导航、菜单或其他辅助功能,而主要内容区域用于展示核心内容。 在你的代码中,Silider组件就是一个典型的侧边栏布局,侧边栏固定在左侧,右侧是 Header、Content 和 Footer。 https://blog.csdn.net/2202_75695913/article/details/145327361
3.SideBarPlus相似应用下载SideBar Plus 44 次下载 暂无 好评率 0 人评论 SideBar Plus最新版截图 # SideBar Plus最新版 SideBar Plus是一款侧边栏工具,支持多种特性定制。支持多项边栏工具功能,除此之外,还能够自己添加操作应用以及看天气等众多强大的功能,给用户带来方便快捷的使用愉悦感。只有当你体验到时你才会感觉到他的强大之处! https://www.wandoujia.com/apps/6570572
4.sidebar是什么意思sidebar的中文翻译音标读音用法例句1.Remove TheSidebar移除侧边栏 2.ToggleSidebar隐藏;显示侧边栏;框架转换;显示 3.SecondaryBar &SideBar额外的快捷栏;分外的快捷栏 4.SidebarGadget边栏小工具;边栏小东西 5.sidebarpro专业版;侧边栏专业版;侧边栏;侧边工具条 6.SideBarPlus侧边栏;侧边栏增强版;侧边栏增强汉化版 https://danci.gei6.com/sidebar__c8hkehmb.html
5.ElemenPlus实现侧边菜单栏伸缩mob6454cc620c34的技术博客ElemenPlus 实现侧边菜单栏伸缩 内容提要: 动态路由实现逻辑、sidebar侧边栏和面包屑导航。 动态路由 在vue-element-admin的基础上进行二次开发。 动态路由生成逻辑如下图: vue-element-admin 将路由分为:constantRoutes 和 asyncRoutes 用户登录系统时,会动态生成路由,其中 constantRoutes 必然包含,asyncRoutes 会进行https://blog.51cto.com/u_16099169/12109272
6.如何将文档上传到ChatGPTBing_AI_Sidebar">使用 ChatGPT 支持的 Bing AI 侧边栏分析文档 微软在 Edge 浏览器上添加了由 ChatGPT 支持的 Bing 侧边栏,使其在很长一段时间后得到了急需的刷新。这解锁了许多 Edge 浏览器功能,包括直接在浏览器中扫描任何文档的能力。 您无需单独将文件上传到任何网站。您只需在 Edge 浏览器中打开该文件https://m.10100.com/article/23553
7.侧边栏chatgpt,书签,应用程序等SideBarr的前10名好处包括一个强大的侧边栏, 功能,一个快速查找窗口,可让您快速访问选定文本的定义,一个支持所有流行搜索引擎的增强搜索页面,支持SINDBARR -CHATGPT 3.5 API键或GPT -4的Plus用户(新!), 支持黑暗或光模式,一个提供降压渲染,代码突出显示的响应页面,以及停止生成响应或将其复制到剪贴板的能力,许多https://www.chajianxw.com/product-tool/37046.html
8.vite+vue3+Ts+element侧边菜单栏开发 我们之前讲权限的地方已经给大家看过了返回的菜单数据,并封装成了树形结构,所以我们这里菜单就根据保存的菜单数据渲染菜单就可以了。 我们在按照以下层级创建侧边栏需要用到的组件 layout -> components -> Sidebar -> index.vue , SidebarItem.vue, SidebarMenu.vue https://cloud.tencent.com/developer/article/2276062
9.取消标题栏自定义切换成侧边栏,并增加懒路由节省内存·Luan一款Go Wails实现的GUI工具,功能涵盖网站扫描、端口扫描、企业信息收集、子域名暴破、空间引擎搜索、CDN识别等 - 取消标题栏自定义切换成侧边栏,并增加懒路由节省内存 · Luan-CC-DD/Slack@2648acahttps://github.com/Luan-CC-DD/Slack/commit/2648aca9d2659116a3af494dc7de7b83a9944002
10.Shopify侧边栏一级目录标题点击直接进入分类功能介绍:手机端侧边栏导航,含有二级目录的一级标题点击左侧标题处可直接进入对应collection页面,点击右侧+处,可打开二级目录。 打开shopify后台 -- 依次点击Online Store--Actions--Edit Code--搜索并打开sidebar-menu.liquid-- 将目标代码全选替换掉文件中原有代码即可。 https://www.jianshu.com/p/4602a457b781
11.Vue3elementPlus图标和自定义侧边栏图标侧边栏自定义图标的应用 vite+vue3+ts中使用自定义图标 使用elementPlus图标 在项目中引入 npminstall@element-plus/icons-vue import'element-plus/dist/index.css' import*asElementPlusIconsVuefrom'@element-plus/icons-vue' // 图标 for(const[key, component]ofObject.entries(ElementPlusIconsVue)) { https://www.freesion.com/article/73042627581/