如何使用JavaScript快速的创建一种常用类型的导航组件:sidebar

本文标签JavaScript小技巧 JavaScript JavaScript函数 JavaScript处理sidebar JavaScript导航组件

sidebar是一种常用类型的导航组件,它可从页面旁侧弹出,覆盖在正常内容上。

假设你的正常内容为:

    <div id="main">
         Placeholder<p>
         Placeholder<p>
         Placeholder<p>
    </div>

现在我们可以在内容内加入sidebar。其内有链接到Home和About。并加入一个按钮,可以打开sidebar,代码如下:

    <div id="mySidenav" class="sidebar">
      <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
      <a href="#a">Home</a>
      <a href="#b">About</a>
    </div>

    <button onclick="openNav()">open sidebar</button><p>
    <div id="main">
         Placeholder<p>
         Placeholder<p>
         Placeholder<p>
    </div>
    <style>

    .sidebar {
        height: 100%;
        width: 0;
        position: fixed;
        z-index: 1;
        top: 0;
        left: 0;
        background-color: #111;
        overflow-x: hidden;
        padding-top: 60px;
        transition: 0.5s;
    }
    .sidebar a {
        padding: 4px 4px 4px 32px;
        text-decoration: none;
        color: #818181;
        display: block;
        transition: 0.3s
    }

    .sidebar a:hover{
        color: #f1f1f1;
    }
    .sidebar .closebtn {
        position: absolute;
        top: 10px;
        right: 10px;
    }

    </style>
    <script>
        function openNav() {
        document.getElementById("mySidenav").style.width = "150px";
    }

    function closeNav() {
        document.getElementById("mySidenav").style.width = "0";
    }

    </script>
    

要点在于:

    1. 默认情况下,sidebar是一个div内置任何html,且width为0,因此不可见
    2. 当需要使用sidebar时,可以使用函数设置其width为一个宽度,因此它变得可见
    3. 虽然它变得可见,但是因为z-index为1,因此不会引发主要内容的重新渲染和计算新的位置,而是覆盖其上

      写在最后FOR Freedom 看看外边的世界,以及IT这一行,少不了去Google查资料,最后,安利一个V——PN代理。一枝红杏 VPN,去Google查资料是绝对首选,连接速度快,使用也方便。我买的是99¥一年的,通过这个链接(http://my.yizhihongxing.com/aff.php?aff=2509)注册后输上会员中心得优惠码,平摊下来,每月才7块钱,特实惠。

      本文标签JavaScript小技巧 JavaScript JavaScript函数 JavaScript处理sidebar JavaScript导航组件

      转自 SUN‘S BLOG - 专注互联网知识,分享互联网精神!

      原文地址 :如何使用JavaScript快速的创建一种常用类型的导航组件:sidebar

      相关阅读:Aaron Swartz – 互联网天才开挂的人生历程:每时每刻都问自己,现在这世界有什么最重要的事是我能参与去做的?
      相关阅读:网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

      相关阅读:什么是工程师文化?各位工程师是为什么活的?作为一个IT或互联网公司为什么要工程师文化?

      相关阅读: 对程序员有用:2017最新能上Google的hosts文件下载及总结网友遇到的各种hosts问题解决方法及配置详解

      相关阅读:win10永久激活教程以及如何查看windows系统是不是永久激活?

      相关BLOG:SUN’S BLOG - 专注互联网知识,分享互联网精神!去看看:www.whosmall.com

时间: 2024-10-25 05:59:44

如何使用JavaScript快速的创建一种常用类型的导航组件:sidebar的相关文章

Javascript使用function创建类的两种方法

1.使用function类 //myFunction.js var CMyFunc=function() { //类的公共方法,供外部调用 this.Func1=function() { var i=0; return i; } this.Func2=function() { _privateFunc(); } //类中的私有方法,供公共方法调用 function _privateFunc() { return 0; ] } CMyFunc myFunc=new CMyFunc(); 使用:其它

15条初学者必看的JavaScript快速小贴士

(本图为:15条初学者必看的JavaScript快速小贴士) 今天小编为了我们的初学JavaScript的小伙伴们简单介绍下这门编程语言,更好的帮助你们来深入的学习它,使用它: JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript 是因特网上最流行的脚本语言. JavaScript 很容易使用!你一定会喜欢它的! 为了能够帮助那些刚开始接触 JavaScript 的人,我

JavaScript 数组的创建

一维数组.二维数组的创建  数组定义:数组(array)是一种数据类型,它包含或者存储了编码的值,每个编码的值称作该数组的一个元素(element), 每个元素的编码被称作为下标(index). 弦外音:JavaScript是一种无类型的语言,所以一个数组元素可具有任意的数据类型,同一数组的不同元素也可以具有不同的数据类型. JavaScript一维数组的创建: 一. 使用new Array()来创建 用数组对象的构造函数Array(),用new操作符进行实例化数组对象.

Javascript快速入门(上篇)

Javascript的熟练之路,小弟来了. JavaScript简介:JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能.与1995年,由Netscape公司的Brendan Eich设计实现,其相关标准为ECMAScript,当前的版本为ECMAScript 2016. 其组成

快速启动程序几种方法

快速启动程序几种方法 电脑中的一般程序可以通过下述几种方法来启动1.在开机后程序自启动 2.在桌面找到对应程序的快捷方式双击启动3.在开始菜单中的所有程序中找到对应程序的快捷方式单击启动以及在开始菜单中找到对应程序的快捷方式单击启动以及在开始菜单的搜索框中输入关键字在搜索结果中单击启动4.在任务栏中找到对应程序的快捷方式单击启动5.到安装文件夹中找到主程序双击启动6.在Win运行对话框中输入命令启动: 1.开机后程序自启动,一般这类软件在软件的设置中会有随系统启动的选项,如果要设置该程序随系统启

JavaScript定义类的几种方式

提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细.我们看看JavaScript中定义类的各种方法. 1.工厂方式 javaScript中创建自己的类和对象,我们应该是必须掌握的,我们都知道javaScript中对象的属性可以在对象创建后动态定义,比如下面的代码: <script type=&q

javascript页面刷新的几种方法

javascript refresh page 几种页面刷新的方法 本节内容:Javascript刷新当前页面的方法与实例. window.location.reload(),window.history.go(0)和document.execCommand(''Refresh''),这三个方法是最快速的.其他的都有明显的浏览器滚动条的出现. Javascript刷新页面的几种方法: 1 history.go(0)除非有<%..%>等需在服务端解释才能生成的页面代码,否则直接读取缓存中的数据不

InnoDB 快速索引创建

5.0和更早版本的MySQL中,在一个已经有很多数据的表上添加或者删除一个索引将非常耗时.CREATE INDEX和DROP INDEX通过创建一个新的空的带有要创建索引的表,然后拷贝存在的行到新表中,同时更新索引,当此时key没有排序时插入条目极慢.在所有的行都被拷贝完成以后,旧表被删除,新表被改名. 从5.1开始,MySQL允许一个存储引擎在不拷贝表数据的情况下创建或者删除一个索引.MySQL 5.1中内建的InnoDB,并没有利用这个特点,新发布的插件带有这个功能. 在InnoDB中,表的

Javascript数组去重的几种方法

Javascript数组去重的几种方法 新建空数组,通过for...of(ES6)循环遍历,通过indexOf判断元素是否在新数组中存在,将不存在的(indexOf(n)==-1)元素push到新数组中: let arr = [1,1,2,2,3,6,3,77,88,5,98,9,7,2,7,5,3,4,2]; function removeDup_indexOf(originalArr){ let newArr = []; for(n of originalArr){ if(newArr.in