使用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 相关文章推荐
PJ Blog修改-禁止复制的代码和方法
Oct 25 Javascript
jquery复选框CHECKBOX全选、反选
Aug 30 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
Apr 01 Javascript
JS 仿腾讯发表微博的效果代码
Dec 25 Javascript
论JavaScript模块化编程
Mar 07 Javascript
BootStrap轮播HTML代码(推荐)
Dec 10 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
Apr 25 Javascript
Vue单文件组件的如何使用方式介绍
Jul 28 Javascript
谈谈对vue响应式数据更新的误解
Aug 01 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
Aug 15 Javascript
浅谈Webpack核心模块tapable解析
Sep 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
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
php 浮点数比较方法详解
2017/05/05 PHP
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
js命名空间写法示例
2015/12/18 Javascript
JS打印组合功能
2016/08/04 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
详解package.json版本号规则
2019/08/01 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
详解Python中expandtabs()方法的使用
2015/05/18 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
2020/08/31 Python
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
高校毕业生登记表自我鉴定
2013/11/03 职场文书
酒吧员工的岗位职责
2013/11/26 职场文书
大学新生欢迎词
2014/01/10 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript