使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效


Posted in Javascript onSeptember 24, 2015

这是一款仿windows10开始菜单的下拉导航菜单特效。该下拉菜单使用jQuery和CSS3来完成类似windows10开始菜单样式效果,它的代码简洁,效果非常时尚。

使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效

查看演示      源码下载

该下拉菜单的HTML结构非常简单,基本的HTML结构如下:

<div id="top-bar" class="top-bar">
 <div class="bar">
  <button id="navbox-trigger" class="navbox-trigger"><i class="fa fa-lg fa-th"></i></button>
 </div>
 <div class="navbox">
  <div class="navbox-tiles">
  <a href="#" class="tile">
   <div class="icon"><i class="fa fa-home"></i></div><span class="title">Home</span>
  </a>
  ......
  </div>
 </div>
</div>

CSS样式

在CSS样式中,顶部导航条.top-bar设置为固定高度50像素和相对定位,并给出一个较高的z-index值。

.top-bar {
 height: 50px;
 position: relative;
 z-index: 1000;
}

下拉菜单.navbox开始的时候是隐藏的,它采用绝对定位,通过translateY方法将它移动到导航条上方200像素的地方。

.top-bar .navbox {
 visibility: hidden;
 opacity: 0;
 position: absolute;
 top: 100%;
 left: 0;
 z-index: 1;
 -webkit-transform: translateY(-200px);
  -ms-transform: translateY(-200px);
   transform: translateY(-200px);
 -webkit-transition: all .2s;
   transition: all .2s;
}

接着在下拉菜单被激活的时候,它的透明度被设置回1,变为可见状态,并通过translateY方法将它移动回原来的位置。

.top-bar.navbox-open .navbox {
 visibility: visible;
 opacity: 1;
 -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
   transform: translateY(0);
 -webkit-transition: opacity .3s, -webkit-transform .3s;
   transition: opacity .3s, transform .3s;
}

JavaScript

该特效中使用jQUery切换相应的class类和用于打开菜单按钮。

(function () {
 $(document).ready(function () {
 $('#navbox-trigger').click(function () {
  return $('#top-bar').toggleClass('navbox-open');
 });
 return $(document).on('click', function (e) {
  var $target;
  $target = $(e.target);
  if (!$target.closest('.navbox').length && !$target.closest('#navbox-trigger').length) {
  return $('#top-bar').removeClass('navbox-open');
  }
 });
 });
}.call(this));
Javascript 相关文章推荐
js function使用心得
May 10 Javascript
js过滤数组重复元素的方法
Sep 05 Javascript
jqueyr判断checkbox组的选中(示例代码)
Nov 08 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
Jul 29 Javascript
jquery实现垂直和水平菜单导航栏
Aug 27 Javascript
jQuery中 bind的用法简单介绍
Feb 13 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
Mar 21 Javascript
vue引入swiper插件的使用实例
Jul 19 Javascript
基于Vue-cli快速搭建项目的完整步骤
Nov 03 Javascript
在微信小程序中使用vant的方法
Jun 07 Javascript
Nest.js环境变量配置与序列化详解
Feb 21 Javascript
javascript同步服务器时间和同步倒计时小技巧
Sep 24 #Javascript
js中不同的height, top的区别对比
Sep 24 #Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
Sep 24 #Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 #Javascript
JS+CSS实现简易的滑动门效果代码
Sep 24 #Javascript
JS实现网站菜单拖拽移位效果的方法
Sep 24 #Javascript
jQuery实现的经典竖向伸缩菜单效果代码
Sep 24 #Javascript
You might like
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php pdo操作数据库示例
2017/03/10 PHP
js 加载并解析XML字符串的代码
2009/12/13 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
vue实现登录拦截
2020/06/29 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
Python实时获取cmd的输出
2015/12/13 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
python交易记录整合交易类详解
2019/07/03 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
django使用多个数据库的方法实例
2021/03/04 Python
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
大学毕业登记表自我鉴定
2013/10/09 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
报关报检委托书
2014/04/08 职场文书
合作协议书
2014/04/23 职场文书
企业金融服务方案
2014/06/03 职场文书
物业消防安全责任书
2014/07/23 职场文书
作文批改评语
2014/12/25 职场文书
业务员岗位职责
2015/02/03 职场文书
离婚答辩状怎么写
2015/05/22 职场文书