使用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获取url参数的使用扩展实例
Dec 29 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
JS替换字符串中字符即替换全部而不是第一个
Jun 04 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
JS拖拽组件学习使用
Jan 19 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
微信小程序中hidden不生效原因的解决办法
Apr 26 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
JS实现根据数组对象的某一属性排序操作示例
Jan 14 Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 Javascript
Vue组件间的通信pubsub-js实现步骤解析
Mar 11 Javascript
浅析TypeScript 命名空间
Mar 19 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
php快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
php中yii框架实例用法
2020/12/22 PHP
flexigrid 参数说明
2010/11/23 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
jquery div 居中技巧应用介绍
2012/11/24 Javascript
JavaScript实现16进制颜色值转RGB的方法
2015/02/09 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
快速入门python学习笔记
2017/12/06 Python
Python实现端口检测的方法
2018/07/24 Python
selenium跳过webdriver检测并模拟登录淘宝
2019/06/12 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
python json 递归打印所有json子节点信息的例子
2020/02/27 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
如何用Anaconda搭建虚拟环境并创建Django项目
2020/08/02 Python
应用化学专业职业生涯规划书
2014/01/22 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
优秀团员个人总结
2015/02/26 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Python图像处理之图像拼接
2021/04/28 Python
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
Win11绿屏怎么办?Win11绿屏死机的解决方法
2021/11/21 数码科技