【前端】侧边栏收缩的优化

简介: 【前端】侧边栏收缩的优化

继上一篇文章【前端】侧边栏显示隐藏的实现和动画效果

发现了一个bug:当展开侧边栏,拉大窗口(大尺寸的窗口状态是不显示侧边栏控制按钮的),于是这个侧边栏就回不去了。

于是我想到了一个办法,增加一个遮罩层。使页面侧边栏展开时,除了侧边栏,便是遮罩层。点击遮罩层,则隐藏侧边栏。

HTML关键代码如下

<!--遮罩层-->
 <div class="mubu" id="mubu" onclick="menuNotShow();return false;">
<!--侧边栏-->
 </div>
        <div class="box-left-menu" id="left-menu">
            <div class="title">
                萌狼工作室
                <hr>
            </div>
        <div>
            <ul>
                <li><a href="#">首页</a></li>
                <li><a href="#">资源</a></li>
                <li><a href="#">网站</a></li>
                <li><a href="#">关于</a></li>
            </ul>
        </div>
        </div>

相关CSS样式

header .box-left-menu{
    /*从文档流完全删除,并相对于其包含块定位*/
    position: absolute;
    left:-10em;
    top:0;
    z-index:9999;
    width:10em;
    height: 100%;
    background-color: var(--background-color);
    box-shadow: 1px 1px 1px 1px var(--shadow-color);
    /*transition: transition-property transition-duration transition-timing-function transition-delay;*/
    transition: all 0.7s ease 0ms;
    opacity: 0;
}
header .mubu{
    position: absolute;
    width: 100%;
    height: 100%;
    /*优先级比左侧菜单栏低一级*/
    z-index:9998;
    background-color: var(--shadow-color);
    opacity: 0;
}

相关js

function menuShow(){
    let item = document.getElementById("left-menu");
    let mubu = document.getElementById("mubu");
    if(item.style.left==="0px"){
        item.style.left="-10em"
        item.style.opacity="0"
        mubu.style.opacity="0"
    }else{
        item.style.left="0px"
        item.style.opacity="1"
        mubu.style.opacity="1"
    }
}
function menuNotShow(){
    let item = document.getElementById("left-menu");
    let mubu = document.getElementById("mubu");
    item.style.left="-10em"
    item.style.opacity="0"
    mubu.style.opacity="0"
}
相关文章
|
30天前
|
缓存 边缘计算 监控
2024年前端性能优化的新策略
【10月更文挑战第3天】本文分享了一些2024年前端性能优化的新策略,希望能够为前端开发者提供实用的参考和指导。在实际开发中,应根据应用的具体需求和场景选择合适的优化方法。
|
25天前
|
前端开发 JavaScript UED
深入了解前端性能优化:提高用户体验的关键
【10月更文挑战第9天】深入了解前端性能优化:提高用户体验的关键
42 5
|
30天前
|
缓存 前端开发 JavaScript
前端性能优化:从基础到进阶的实践指南
【10月更文挑战第4天】在前端开发中,性能优化至关重要,尤其随着Web应用的复杂化,用户对加载速度和响应性的要求日益提高。本文从基础知识入手,涵盖代码压缩、图片优化及缓存策略,并深入探讨代码拆分、懒加载和Web Workers等进阶技巧,帮助开发者全面提升Web应用的用户体验。通过这些方法,不仅能够减少页面加载时间,还能提升响应性和渲染性能,为用户提供更流畅的使用体验。
54 1
|
30天前
|
缓存 前端开发 JavaScript
前端性能优化:提升用户体验的关键策略
【10月更文挑战第4天】前端性能优化:提升用户体验的关键策略
48 1
|
6天前
|
缓存 前端开发 JavaScript
前端性能优化:Webpack与Babel的进阶配置与优化策略
【10月更文挑战第28天】在现代Web开发中,Webpack和Babel是不可或缺的工具,分别负责模块打包和ES6+代码转换。本文探讨了它们的进阶配置与优化策略,包括Webpack的代码压缩、缓存优化和代码分割,以及Babel的按需引入polyfill和目标浏览器设置。通过这些优化,可以显著提升应用的加载速度和运行效率,从而改善用户体验。
21 5
|
8天前
|
缓存 监控 前端开发
前端工程化:Webpack与Gulp的构建工具选择与配置优化
【10月更文挑战第26天】前端工程化是现代Web开发的重要趋势,通过将前端代码视为工程来管理,提高了开发效率和质量。本文详细对比了Webpack和Gulp两大主流构建工具的选择与配置优化,并提供了具体示例代码。Webpack擅长模块化打包和资源管理,而Gulp则在任务编写和自动化构建方面更具灵活性。两者各有优势,需根据项目需求进行选择和优化。
32 7
|
7天前
|
缓存 前端开发 JavaScript
前端工程化:Webpack与Gulp的构建工具选择与配置优化
【10月更文挑战第27天】在现代前端开发中,构建工具的选择对项目的效率和可维护性至关重要。本文比较了Webpack和Gulp两个流行的构建工具,介绍了它们的特点和适用场景,并提供了配置优化的最佳实践。Webpack适合大型模块化项目,Gulp则适用于快速自动化构建流程。通过合理的配置优化,可以显著提升构建效率和性能。
20 2
|
14天前
|
缓存 前端开发 JavaScript
前端性能优化:打造流畅用户体验的秘籍
【10月更文挑战第20天】前端性能优化:打造流畅用户体验的秘籍
27 3
|
13天前
|
存储 缓存 算法
前端算法:优化与实战技巧的深度探索
【10月更文挑战第21天】前端算法:优化与实战技巧的深度探索
13 1
|
13天前
|
缓存 前端开发 JavaScript
如何优化前端资源
如何优化前端资源