基于vue.js实现侧边菜单栏


Posted in Javascript onMarch 20, 2017

侧边菜单栏应该是很多项目里必不可少的 自己手写了一个
下面是效果图

 基于vue.js实现侧边菜单栏

下面就说一下实现的过程 还是比较简单的
首先导入一下需要的文件

<link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css" rel="external nofollow" >
<link rel="stylesheet" type="text/css" href="css/font-awesome.min.css" rel="external nofollow" >
<link rel="stylesheet" type="text/css" href="css/nav.css" rel="external nofollow" >
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="bootstrap/js/bootstrap.min.js"></script>

接下来就是我的html

<nav class="sider-bar small-bar">
 <ul>
  <li class="home_btn">
   <a href="javascript:;" id="full-bar" >
    <i class="fa fa-navicon nav_icon"></i>
   </a>
  </li>
  <li>
   <a href="javascript:;">
    <i class="fa fa-home nav_icon"></i>
    <span class="nav-text">主页</span>
   </a>
  </li>
  <li class="drop-show">
   <a href="javascript:;" >
    <i class="fa fa-cogs nav_icon"></i>
    <span class="nav-text">系统<i class="fa fa-angle-right nav_icon "></i></span>

   </a>
   <ul class="drop-list">
    <li><a href="user.html">用户管理</a></li>
    <li><a href="buttons.html">权限设置</a></li>
    <li><a href="buttons.html">操作日志</a></li>
    <li><a href="buttons.html">设备运行日志</a></li>
   </ul>
  </li>
  <li class="drop-show">
   <a href="javascript:;">
    <i class="fa fa-check-square-o nav_icon"></i>
    <span class="nav-text">防区 <i class="fa fa-angle-right nav_icon "></i></span>
   </a>
   <ul class="drop-list">
    <li><a href="buttons.html">防区管理</a></li>
   </ul>
  </li>
  <li class="drop-show">
   <a href="javascript:;">
    <i class="fa fa-info-circle nav_icon"></i>
    <span class="nav-text">警报 <i class="fa fa-angle-right nav_icon "></i></span>
   </a>
   <ul class="drop-list">
    <li><a href="buttons.html">历史报警曲线</a></li>
    <li><a href="buttons.html">报表统计</a></li>
    <li><a href="buttons.html">警情处理</a></li>
   </ul>
  </li>
  <li>
   <a href="#">
    <i class="fa fa-dashboard (alias) nav_icon"></i>
    <span class="nav-text">设备</span>
   </a>
  </li>
 </ul>
</nav>

然后是css

* {
 margin: 0;
 padding: 0;
}
body {
 font-family:Microsoft YaHei;
 font-size:14px;
}
li,ol,ul {
 list-style: none;
}
a {
 text-decoration: none;
 outline: 0;
}
a:hover,a:link{
 text-decoration:none;
}
.sider-bar{ 
 float:left;
 width:220px; 
 height:100%; 
 z-index:999;
 overflow:hidden;
 background:rgba(0,0,0,0.7); 
}
.sider-bar ul{ 
 width:100%; 
 float:left
}
.sider-bar ul li{ 
 width:100%; 
 float:left; 
 font-size:14px;
}
.sider-bar ul li a{ 
 padding:8px 10px;
 display:block;
 color:#fff; 
}
.sider-bar ul li.home_btn{ 
 background:#282D2D; 
 text-align:center
}
.sider-bar ul li.home_btn:hover{ 
 background:#282D2D
}
.sider-bar ul li a:hover{ 
 background:#0099CC;
}
.sider-bar ul li .nav_icon{ 
 font-size:18px; 
 margin:0 5px;
}
.small-bar{
 width:50px;
}
.small-bar li { 
 text-align:center;
}
.small-bar li a{
 display:block; 
 text-align:center
}
.small-bar li span{ 
 display:none
}
.small-bar ul li .nav_icon{ 
 font-size:24px; 
 margin:0
}
ul.drop-list{ 
 display:none; 
 margin-left:30px; 
 width:190px;
}
.fa-angle-right{ 
 float:right
}
body, html {
 height:100%;
}

最后也就是我的js

$(document).ready(function(){
 //展开主菜单
 $("#full-bar").click(function(){
  $(".sider-bar").toggleClass("small-bar");
  if($(".sider-bar").hasClass('small-bar')){
   $(".drop-list").slideUp();
  }
 });
 $(".drop-show").click(function(){
  if(!$(".sider-bar").hasClass('small-bar')){
   $(this).children(".drop-list").slideToggle();
   $(this).siblings('li').children(".drop-list").slideUp();
  }
 });
});

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
分享别人写的一个小型js框架
Aug 13 Javascript
jquery autocomplete自动完成插件的的使用方法
Aug 07 Javascript
JavaScript生成随机数的4种自定义函数分享
Feb 28 Javascript
JS基于面向对象实现的放烟花效果
May 07 Javascript
sea.js常用的api简易文档
Nov 15 Javascript
探讨AngularJs中ui.route的简单应用
Nov 16 Javascript
localStorage实现便签小程序
Nov 28 Javascript
微信分享调用jssdk实例
Jun 08 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
Jun 28 Javascript
如何在vue中使用ts的示例代码
Feb 28 Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 Javascript
vue中v-model对select的绑定操作
Aug 31 Javascript
微信小程序 参数传递实例代码
Mar 20 #Javascript
vue.js指令v-model使用方法
Mar 20 #Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 #Javascript
JS查找英文文章中出现频率最高的单词
Mar 20 #Javascript
vue.js中指令Directives详解
Mar 20 #Javascript
基于vue的fullpage.js单页滚动插件
Mar 20 #Javascript
windows下vue.js开发环境搭建教程
Mar 20 #Javascript
You might like
php中变量及部分适用方法
2008/03/27 PHP
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
理解javascript中的闭包
2017/01/11 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
python模拟鼠标拖动操作的方法
2015/03/11 Python
Python3使用requests发闪存的方法
2016/05/11 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Python线程创建和终止实例代码
2018/01/20 Python
详解Python中的正则表达式
2018/07/08 Python
python 内置模块详解
2019/01/01 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
C#可否对内存进行直接的操作
2015/02/26 面试题
秋季运动会通讯稿
2014/01/24 职场文书
仓库组长岗位职责
2014/01/29 职场文书
西安大雁塔导游词
2015/02/10 职场文书
政审证明材料
2015/06/19 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
基于tensorflow权重文件的解读
2021/05/26 Python
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android