使用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函数中的arguments参数
Aug 01 Javascript
window.open关于浏览器拦截问题分析及解决方法
Feb 05 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
Oct 18 Javascript
javascript中hasOwnProperty() 方法使用指南
Mar 09 Javascript
JS定义类的六种方式详解
May 12 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
Aug 25 Javascript
JS实现动态修改table及合并单元格的方法示例
Feb 20 Javascript
详解webpack与SPA实践之开发环境搭建
Dec 18 Javascript
使用proxy实现一个更优雅的vue【推荐】
Jun 19 Javascript
原生JS实现的放大镜特效示例【测试可用】
Dec 08 Javascript
Javascript call及apply应用场景及实例
Aug 26 Javascript
vuex的数据渲染与修改浅析
Nov 26 Vue.js
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
请php正则走开
2008/03/15 PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
2016/05/17 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
最实用的JS数组函数整理
2017/12/05 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
node.JS二进制操作模块buffer对象使用方法详解
2020/02/06 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
Python读取实时数据流示例
2019/12/02 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
通信专业个人自我鉴定
2013/10/21 职场文书
物业招聘计划书
2014/01/10 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
大学生就业策划书范文
2014/04/04 职场文书
软件测试专业推荐信
2014/09/18 职场文书
2014年双拥工作总结
2014/11/21 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
新学期主题班会
2015/08/17 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
解决vue自定义组件@click点击失效问题
2022/04/30 Vue.js