基于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 相关文章推荐
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
jQuery制作仿腾讯web qq用户体验桌面
Aug 20 Javascript
js去除空格的12种实用方法
Nov 08 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 Javascript
javascript中不等于的代码是什么怎么写
Dec 29 Javascript
使用Script元素发送JSONP请求的方法
Jun 12 Javascript
基于JavaScript实现复选框的全选和取消全选
Feb 09 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
Feb 10 Javascript
React实践之Tree组件的使用方法
Sep 30 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
May 03 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
Nov 05 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 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 基础教程
2009/11/02 PHP
php 数组使用详解 推荐
2011/06/02 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
js自定义Tab选项卡效果
2017/06/05 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
vue 左滑删除功能的示例代码
2019/01/28 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
Python作用域用法实例详解
2016/03/15 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
2018/06/11 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
2021/02/03 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
《黄河颂》教学反思
2014/02/07 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
公司员工安全协议书
2014/11/21 职场文书
mysql优化
2021/04/06 MySQL