基于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 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
Javascript attachEvent传递参数的办法
Dec 14 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
Mar 04 Javascript
简述JavaScript中正则表达式的使用方法
Jun 15 Javascript
老生常谈onBlur事件与onfocus事件(js)
Jul 09 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
Dec 17 Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 Javascript
vue引入jq插件的实例讲解
Sep 12 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
Mar 08 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
vue项目打包部署到服务器的方法示例
Aug 27 Javascript
jquery实现聊天机器人
Feb 08 jQuery
微信小程序 参数传递实例代码
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读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
nginx+php-fpm配置文件的组织结构介绍
2012/11/07 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
js 方法实现返回多个数据的代码
2009/04/30 Javascript
ext 代码生成器
2009/08/07 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
python 判断自定义对象类型
2009/03/21 Python
Python实现的几个常用排序算法实例
2014/06/16 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
python 实现return返回多个值
2019/11/19 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
教学实习自我评价
2014/01/28 职场文书
工厂会计员职责
2014/02/06 职场文书
应届生面试求职信
2014/07/02 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android