使用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 相关文章推荐
几款极品的javascript压缩混淆工具
May 16 Javascript
Jquery选择器 $实现原理
Dec 02 Javascript
Javascript之this关键字深入解析
Nov 12 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 Javascript
JS利用cookies设置每隔24小时弹出框
Apr 20 Javascript
在Vue中如何使用Cookie操作实例
Jul 27 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 Javascript
React和Vue中监听变量变化的方法
Nov 14 Javascript
vue 实现Web端的定位功能 获取经纬度
Aug 08 Javascript
微信小程序使用echarts获取数据并生成折线图
Oct 16 Javascript
vue-cli设置css不生效的解决方法
Feb 07 Javascript
vue 调用 RESTful风格接口操作
Aug 11 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
php REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
php集成开发环境详解
2019/09/24 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
2018/02/27 jQuery
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
微信小程序自定义支持图片的弹窗
2020/12/21 Javascript
Python中操作文件之write()方法的使用教程
2015/05/25 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
市场部规章制度
2014/01/24 职场文书
社区七一党员活动方案
2014/01/25 职场文书
毕业实习评语
2014/02/10 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis