基于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 相关文章推荐
向大师们学习Javascript(视频与PPT)
Dec 27 Javascript
3种js实现string的substring方法
Nov 09 Javascript
深入浅析JavaScript中的作用域和上下文
Mar 26 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
JS动态计算移动端rem的解决方案
Oct 14 Javascript
javascript设置文本框光标的方法实例小结
Nov 04 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
Jan 09 Javascript
jquery事件与绑定事件
Mar 16 Javascript
react.js 获取真实的DOM节点实例(必看)
Apr 17 Javascript
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
layui数据表格 table.render 报错的解决方法
Sep 29 Javascript
微信小程序实现抖音播放效果的实例代码
Apr 11 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 写文本日志实现代码
2010/05/18 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
JS 树形递归实例代码
2010/05/18 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
浅谈React Event实现原理
2018/09/20 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
vue实现单一筛选、删除筛选条件
2020/10/26 Javascript
python 快速排序代码
2009/11/23 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
使用python实现学生信息管理系统
2021/02/25 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
为什么要有struct关键字
2012/05/08 面试题
餐饮主管岗位职责
2013/12/10 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
离婚财产分割协议书
2015/08/11 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang
试了下Golang实现try catch的方法
2021/07/01 Golang