首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

点击展开隐藏左侧栏菜单js代码

要实现点击展开隐藏左侧栏菜单的功能,可以使用JavaScript来控制菜单的显示与隐藏。以下是一个简单的示例代码,展示了如何实现这一功能:

HTML结构

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>左侧栏菜单</title>
    <style>
        #sidebar {
            width: 250px;
            height: 100%;
            position: fixed;
            top: 0;
            left: -250px; /* 初始状态隐藏 */
            background-color: #333;
            transition: left 0.3s ease;
        }
        #sidebar ul {
            list-style-type: none;
            padding: 0;
        }
        #sidebar ul li {
            padding: 10px;
            color: white;
        }
        #toggleButton {
            position: fixed;
            top: 10px;
            left: 10px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div id="toggleButton">Toggle Menu</div>
    <div id="sidebar">
        <ul>
            <li>Home</li>
            <li>About</li>
            <li>Contact</li>
        </ul>
    </div>

    <script>
        document.getElementById('toggleButton').addEventListener('click', function() {
            var sidebar = document.getElementById('sidebar');
            if (sidebar.style.left === '-250px' || sidebar.style.left === '') {
                sidebar.style.left = '0';
            } else {
                sidebar.style.left = '-250px';
            }
        });
    </script>
</body>
</html>

解释

  1. HTML结构
    • #sidebar:左侧栏菜单的容器,初始状态通过CSS设置为left: -250px隐藏。
    • #toggleButton:用于切换菜单显示状态的按钮。
  • CSS样式
    • #sidebar:设置了固定宽度和高度,并通过position: fixed使其固定在页面左侧。
    • transition属性用于平滑过渡效果。
    • #toggleButton:固定在页面左上角,方便点击。
  • JavaScript代码
    • 通过addEventListener为按钮添加点击事件监听器。
    • 在点击事件处理函数中,检查#sidebarleft样式属性,如果为-250px(或未设置),则将其设置为0以显示菜单;否则设置为-250px以隐藏菜单。

应用场景

  • 响应式网站:在小屏幕设备上,可以通过点击按钮展开或收起侧边栏菜单,节省屏幕空间。
  • 后台管理系统:常见的后台管理系统中,左侧栏菜单通常需要可折叠,以便用户根据需要查看或隐藏。

可能遇到的问题及解决方法

  1. 动画效果不流畅
    • 确保CSS中的transition属性设置正确,并且没有其他CSS规则干扰动画效果。
    • 使用硬件加速(如transform: translateX())可以提高性能。
  • 点击事件不触发
    • 检查JavaScript代码是否有语法错误或逻辑错误。
    • 确保DOM元素已经完全加载后再绑定事件监听器(可以使用window.onloadDOMContentLoaded事件)。
  • 样式冲突
    • 使用浏览器的开发者工具检查元素的最终样式,确保没有其他CSS规则覆盖了当前设置。

通过以上方法,可以实现一个简单且高效的左侧栏菜单展开与隐藏功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

axure菜单展开收起_css菜单栏的隐藏和显示

axure 9.0 版本在发布后HTML页面打开时总是在顶部弹出菜单 既不美观也影响效果 本人axure小白,摸索半天后发现也不能完全关闭或者不显示(除非代码修改); 菜单如下图。...解决方案就是在请求地址后面拼接 #c=1 这样可以实现菜单栏最小化,而且在你鼠标不移动到左上角时,小箭头会隐藏 ,效果就可以了。...如请求地址为:https://www.csdn.net/ 可改为:https://www.csdn.net/#c=1 另外还有二种显示菜单的方式: 直接输入你的请求地址如: https://www.csdn.net.../ 这样是直接展示顶部菜单哦,就不上图了。...同上方隐藏类似,如:https://www.csdn.net/#g=1 这样可以把左边菜单栏也打开哦,也不上图了。

2.8K10

最简单的纯js实现点击展开二级菜单功能

我最近就遇到做个点击展开二级菜单的要求,当然只能用原生的JS去写来实现,我借鉴了网上的一个案例,补充一下,分享一下: 如果,默认打开页面进来时二级菜单是隐藏的,需要点击才能展现二级菜单,再点击就是隐藏二级菜单...这里有两个点,实现展现和隐藏用display=”block“和display=”none”,另外就是要做一个判断,if else的判断当前是block还是none。 <!...2 二级菜单2 二级菜单2 二级菜单2 二级菜单2...如果,你的页面默认进来二级菜单是展现的,点击时才关闭。直接把style标签的样式display=”none”去掉就可以。同时需要修改一下js。...sub_menu.style.display = "none"; } 仔细看,不然你就会发现你需要点击两次才会出现想要的效果

4.3K20
  • 用Axure画出Web后台产品的菜单栏组件

    默认展开左侧菜单的二级页面处于某一页面的时候,对应菜单项都会处于选中状态并呈现不同的样式。点击一级分类即可收起对应的二级页面,再次点击即可展开。默认进入首页,同时首页对应的菜单处于选中状态。...此时所有菜单处于展开状态。菜单栏通常有2级结构,第一级菜单是分类,第二级菜单是页面。一般位于页面左侧,并且是每个页面都有它。01 画出无交互原型1、先画首页文字。...10、在左侧母版区域,右键母版“菜单栏”,点击“添加到页面中…”然后点击“全选”,勾选“置于底层”,最后点击确定。11、生成原型HTML并查看原型效果。02 画出有交互原型12、先画进入首页的交互。...然后点击组合“一级分类”,右侧边栏切换到“交互”,点击“新建交互”按钮,选择触发事件“单击时”,添加动作“显示/隐藏”,目标选择组合“二级页面”,操作选择“切换”,点击更多选项然后设置“展开收起”,点击...总结如果页面特别多,可以采用三级菜单栏,即第一级菜单是分类,第二级菜单是分类,第三级菜单是页面。另外Axure左侧页面结构中也需要以相应的分类名称页面名称进行使用,方便开发和测试理解。

    32320

    LayUI之旅-入门

    1、实现侧边栏显示与隐藏 看官网的后台演示模板(layAdmin),怎么看都比自己这个舒服啊,首先,左边栏是可以隐藏的,按照官方的演示模板,添加了一个按钮,用来显示和隐藏侧边栏(这里需要说明一下,就目前的网页设计要求...代码很快就写完了,然后进行效果测试,诶···怎么怪怪的,左边栏隐藏和显示实现了啊,但是头部的logo没有隐藏啊,然后不断的查看layui的源码(开启扒站模式),发现要完美呈现官网的layAdmin的侧边栏隐藏效果是需要重新写.../* * @todo 左侧导航菜单的显示和隐藏 */ $('.header').on('click', '.layadmin-flexible', function(event...,隐藏左侧菜单和遮罩自身 $('.layadmin-body-shade').click(function(event) { if (device.ios || device.android...项 为true则说明已有 $.each($(".layui-tab-title li[lay-id]"), function () { //如果点击左侧菜单栏所传入的

    2.8K20

    webpack+vue项目实战(二,开发管理系统主页面)

    而且首页这个菜单可以点击,执行跳转,其它两个菜单又有子菜单,点击只是一个子菜单显示与隐藏的操作。 所以,侧边栏的数据肯定是一个数组,并且是一个对象数组。..., url--跳转的url,tag--当前的标识, hasExtend--是否有二级菜单,fold--是否展开extend--子菜单) 2.遍历侧边栏的数据 菜单--> 点击事件为触发子元素的显示或隐藏 比如点击‘销售消息通知’,就触发‘销售消息通知’下面子菜单的显示或者隐藏。...3.给侧边栏写相关的一些操作 关于侧边栏的操作,比较简单,无非就是点击菜单,跳转路由,标志当前项以及菜单下面子菜单的显示与隐藏。...2.最后,实现菜单下面子菜单的显示与隐藏。这个方法就一行代码。 //展开收起导航面板 flod(index){ this.menus[index].fold = !

    1.5K11

    Layui-admin-iframe通过页面链接直接在iframe内打开一个新的页面,实现单页面的效果

    前言:   使用Layui-admin做后台管理框架有很长的一段时间了,但是一直没有对框架内iframe菜单栏切换跳转做深入的了解。...今天有一个这样的需求就是通过获取超链接中传递过来的跳转地址和对应的tabs的title名称参数,在layui-admin-iframe中自动打开一个新的tabs页面,不需要点击左边的菜单栏,实现一个单页面的效果...代码实现: 请求的超链接如下所示: https://xxxx.xxx.com?...,而链接中所带的地址又不是第一个一级菜单栏中的子菜单栏我们该如何解决初次加载显示子级菜单栏问题?  ...我们可以在导航栏中设置左侧菜单导航栏默认展开的属性,如下所示: layui-nav-itemed的属性默认导航全部展开 <li class="layui-nav-item layui-nav-itemed

    4.9K10

    vue博客实战---博客首页开发

    ,点击子菜单直接跳转到对应的界面: ?...我们可以看下导航栏实现之后的具体效果: ? 到这里左侧导航栏已经成功实现了,接着我们先看看右侧精选文章推荐和友链的显示效果。...右侧导航栏的效果比左侧相对简单许多,最上方一个div显示博客名称和一句座右铭,中间部分nav里面套ul实现精选文章区域,现在具体逻辑功能还未实现所以精选文章我先写死,下方div里面套ul友链展示。...因为右侧导航栏逻辑较为简单,所以直接贴组件代码: ? 我们可以看下现在的具体效果: ?...左右两侧导航栏实现完毕,接下来需要设置中间的博客主界面,实际上中间界面不是固定界面,而是由index.js中routes的components决定具体渲染哪一个vue文件作为博客主界面,在首页我们渲染的是

    6.9K20

    Mirages主题帮助文档

    不需要修改代码,主题已经内置了。 插件下载地址 备用下载地址 侧边栏菜单怎么配置? 侧边栏菜单的内容来源于你的独立页面,新增或删除独立页面后,侧边栏菜单会相应更改。 侧边栏菜单如何排序?...侧边栏菜单的内容来源于你的独立页面,所以你可以在 管理 -> 独立页面 对独立页面进行隐藏、排序等操作,侧边栏菜单会相应更改。 侧边栏头像怎么修改?...你可以通过点击:控制台 -> 个人设置 -> 点击左侧的头像 进入 Gravatar 注册账号并上传头像。 为什么我主题的菜单/导航栏/导航条和你的不一样?...该选项是默认选项 2 ==> 页面打开时目录树【展示】在文章【右侧】,【可通过】页面边缘的展开按钮展开或隐藏目录树 3 ==> 页面打开时目录树【展示】在文章【左侧】,【可通过】页面边缘的展开按钮展开或隐藏目录树...4 ==> 页面打开时目录树【展示】在文章【右侧】,页面不会展示展开按钮,因此【不可通过】展开按钮展开或隐藏目录树 5 ==> 页面打开时目录树【展示】在文章【左侧】,页面不会展示展开按钮,因此【不可通过

    10.1K20

    原 Intellij IDEA 2017

    ##Intellij IDEA窗体的主要元素 主菜单 主菜单包含打开、创建、重构代码、运行调试应用、版本控制等命令。 工具栏 主工具栏包含一些基本的功能,比如复制等,以便快捷操作。...如果你习惯使用语境菜单的方式,可以隐藏工具栏。默认情况下,工具栏是隐藏的,可以选择view|toolbar的方式展示。 导航栏 导航栏是替换项目工具窗的一种快速方案。...所有的菜单和工具栏按钮事件描述都会展示在状态栏的左侧。 如果你想执行某个事件,但是你不知道它在哪,可以通过ctrl+shift+a,根据事件的名字进行搜索,然后从建议列表中选择对应的事件即可执行。...折叠展开导航栏 展示导航栏,可以从下面的方式中选择一种: 从view菜单,选择NavigationBar 按键alt+home 隐藏导航栏: 从view菜单,清除NavigationBar ##提示和技巧...##状态栏图标 图标 描述 点击可以隐藏或者展示工具窗体栏 最近一次执行命令的结果(描述信息) 点击这个图标来管理背景任务,如果有待处理的后台任务,此时这个图标才可用。

    2.8K60

    vue 项目中自定义布局与左侧菜单及路由跳转功能的实现(简易版)

    中实现,本文中主要介绍左侧菜单和路由跳转功能的实现。...,并结合router-link组件实现点击菜单时右边主内容区的页面跳转功能。...左侧菜单能否正确展示,主要就看这个文件里的代码是否准确无误。...菜单,菜单由折叠变展开,右侧的主内容区就会跳转到面试题类目页面 然后再点击下面的面试题列表菜单,则右侧主内容区跳转到面试题列表页面 本文后台blogserver项目的gitee仓库地址:https:/...结语 可以看到左侧菜单栏点击跳转功能没什么问题,但是右侧主内容区上面的Navbar组件下面的退出登录按钮目前还没显示,后面还需要调试,面试题管理一级菜单下面对应的页面功能也需要进一步完善。

    1.7K10

    chrome开发者工具小技巧

    在sources面板中,选择相应的js或css文件,按下ctrl + O ,在选择指定的文件中使用“:行数:列数”,可以快速定位到相应的行和列。 展开所有子节点 ?...选择”Elements”面板,选择DOM元素,在带有剪头的地点按住Alt +点击鼠标左键,可以展开所有子节点。 多个光标编辑 ?...如图,在js文件中当像同时编辑几个地方时,可以按住ctrl ,鼠标左键点击添加光标,如果添加失误,可以用ctrl + U,撤销最后一个添加的光标。 触发伪类 ?...在”Element”面板中选择DOM元素,然后在console中输入$0可以获取当前元素 运行预定义的代码片段 ?...在左侧边栏中选择: Sources > Snippets,右键选择New,新建文件,命名后,可以再里面输入代码片段,然后在文件名上右击,在弹出的菜单中选择Run,就可以运行了。

    1.3K10

    chrome开发者工具小技巧

    展开所有子节点 选择”Elements”面板,选择DOM元素,在带有剪头的地点按住Alt +点击鼠标左键,可以展开所有子节点。...多个光标编辑 如图,在js文件中当像同时编辑几个地方时,可以按住ctrl ,鼠标左键点击添加光标,如果添加失误,可以用ctrl + U,撤销最后一个添加的光标。...可以在DOM元素上右击鼠标,打开右键菜单,选择“Force Element State”,就可以选择相应的伪类了。...使用$0获取当前元素 在”Element”面板中选择DOM元素,然后在console中输入$0可以获取当前元素 运行预定义的代码片段 在左侧边栏中选择: Sources > Snippets,右键选择...New,新建文件,命名后,可以再里面输入代码片段,然后在文件名上右击,在弹出的菜单中选择Run,就可以运行了。

    1.4K50

    1.3 PowerBI数据准备-获取文件夹,合并相同表头Excel或CSV

    举例从如下带有诸多冗余信息的文件夹中,获取并合并多个非隐藏的相同表头Excel文件。操作步骤STEP 1 点击菜单栏获取数据下的更多-文件夹,选择好本地文件夹后,不要点击组合或加载,点击转换数据。...STEP 2 进入PowerQuery后,点击Attitudes(属性)列标题右侧的展开按钮,然后直接点击确定。...STEP 4 点击菜单栏添加列下的自定义列,输入Excel.Workbook([Content]),把Excel的文件内容存储在自定义列。...STEP 5 点击自定义列标题右侧的展开按钮,直接点击确定,展开Excel文件信息。STEP 6 在Custom.Hidden列筛选“FALSE”,把文件内隐藏的无用的Sheet筛选掉。...图片图片图片STEP 10 点击列标题左侧的类型图标,按需修改每列的数据类型,然后关闭并应用。

    8500

    如何不用一行 JS 代码做一个现代化可交互网站

    导航栏 首先从网站最前面的导航栏开始,如下图所示。 导航栏默认是收起的,点击可以展开,效果如下图所示。...可以看到点击这个导航栏按钮,按钮上的 3 条杠会变成一个关闭图形,并且有一个很酷的导航展开动画,从导航按钮开始展开一个圆,然后出现导航菜单,鼠标放到导航菜单项上面还有很炫的 Hover 效果,最后再次点击导航按钮...要知道这整个导航栏效果是完全没有一行 JS 代码的,完全只使用 HTML+CSS 来实现。接下来让我们看一看它是如何被实现的。 首先来看一下整个导航栏的 HTML 代码,如下所示。...再往下是导航栏的背景,也就是点击展开的那个圆。最后是导航的菜单项。...菜单项 整个菜单项的样式如下所示,它默认是被隐藏的。

    1.7K10

    Typecho主题Handsome修改记录---(持续更新)

    本博文持续更新~ 有问题请在本博留言~ 美化记录 本博一键美化插件 展开 看本博客效果~只要安装后就不需要手动修改了 目前实现的功能 iframe视频文章嵌入优化 iframe视频短代码插入...响应耗时和访客总数(全站字数放弃,减少服务器压力) 右侧边栏时光流逝模块 顶部导航显示心知天气 左侧目录彩色图标 右侧彩色标签和彩色标签云 鼠标经过头像旋转放大 鼠标点击特效 文章标题居中 LOGO扫光..., delay: a, step: g}; i() }; chakhsu(document.getElementById('chakhsu')); 左侧导航栏...展开 {"name":"talk","status":"hide"} // 隐藏闲言碎语 取消时光机文字首字放大效果 展开 修改usr/themes/handsome/component/say.php...开发者设置->自定义尾部html中添加代码 点击展开 /* 鼠标特效 */ var a_idx = 0; jQuery(document

    1.2K20

    还在用老掉牙的后台模板?来试试这款人类高质量后台模板(Admin Plus)

    侧栏菜单就是指我们见到的左侧的菜单栏,左侧的菜单栏是支持全局响应式布局,假如我们是在手机上预览这个页面,那么他的显示是不会乱的,他会根据你手机屏幕大小自动切换显示比例。...我们只需要找到菜单权限管理,点击你想要隐藏侧边栏的页面,然后看到右边的隐藏侧边栏即可将当前页面隐藏侧边栏,这个功能对于一些需要大版面的页面是很实用的。...私人定制动态菜单 看到这里很多观众老爷可能会问了,我可不可以自己定制顶部或者是左侧的菜单栏呢?哎,你问到点上了,这是他的第二个亮点。...那么我们如果我们需要在代码里面去添加菜单,只需要修改两个js,一个控制顶栏菜单,一个控制侧栏菜单。 强大的国际化 说到国际化这个功能相信很多人不会陌生,但是你见过国际化如此彻底的吗?...菜单栏鉴权 菜单栏鉴权也是我们很常用的功能,指的是如果用户没有某个菜单的权限,则该菜单就不在菜单栏中显示,也就是隐藏入口。

    2.1K20

    【 FlutterUnit 食用指南】 开源篇

    首页与组件收录 Flutter一共有356+组件,目前收录组件213个,并根据个人感觉进行评星 将组件分为七种家族,对应七种颜色,上tab栏,点击切换七种家族组件。 . . . ? ? ?...代码的查看和分享 激动人心的是,你可以通过右侧的图标展开/隐藏 实现下面效果的代码 并且支持分享,如果你想亲自体验,so,easy ! 而且代码高亮样式可以自定义。 . . . ?...在每个详情页的右滑菜单中可以查看当前组件的收藏信息, 点击收藏夹名称时时可以切换该组件是否收录。在收藏夹里面可以左滑删除 删除与数据同步 组件加入收藏集 收藏集支持多选 ? ? ?...---- 6.彩蛋: 左右滑栏 很多朋友反映左右滑栏与系统的侧滑返回冲突,所以特意设置了滑栏的小彩蛋 主页长按底部左侧按钮可打开左侧滑栏 主页长按底部右侧按钮可打开右侧滑栏 详情页长按顶部房子按钮可打开右侧滑栏...长按右菜单滑页 长按左菜单滑页 详情内长按展示收藏菜单 ?

    1.2K20
    领券