基于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 相关文章推荐
Jquery下判断Id是否存在的代码
Jan 06 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
前端轻量级MVC框架CanJS详解
Sep 26 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
May 25 Javascript
JS之相等操作符详解
Sep 13 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
Oct 01 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
Jan 04 Javascript
微信小程序 开发之全局配置
May 05 Javascript
Vue实例中生命周期created和mounted的区别详解
Aug 25 Javascript
vue实现新闻展示页的步骤详解
Apr 11 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 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
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
Javascript读取cookie函数代码
2010/10/16 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
[原创]pip和pygal的安装实例教程
2017/12/07 Python
Python使用gRPC传输协议教程
2018/10/16 Python
Python的高阶函数用法实例分析
2019/04/11 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
大学生求职推荐信
2013/11/27 职场文书
装饰活动策划方案
2014/02/11 职场文书
商务经理岗位职责
2014/07/30 职场文书
大学生党员个人总结
2015/02/13 职场文书
党员个人自我评价
2015/03/03 职场文书
早会开场白台词大全
2015/06/01 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
2021/05/27 Servers