使用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 form 验证函数 当前比较流行的错误提示
Jun 23 Javascript
关于Javascript 对象(object)的prototype
May 09 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
Jan 05 Javascript
BootStrap和jQuery相结合实现可编辑表格
Apr 21 Javascript
JS从数组中随机取出几个数组元素的方法
Aug 02 Javascript
jQuery中的一些小技巧
Jan 18 Javascript
Angularjs中使用轮播图指令swiper
May 30 Javascript
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
详解angular如何调用HTML字符串的方法
Jun 30 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
自定义Vue中的v-module双向绑定的实现
Apr 17 Javascript
微信小程序自定义tabBar在uni-app的适配详解
Sep 30 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
php模板之Phpbean的目录结构
2008/01/10 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
PHP抓取网页、解析HTML常用的方法总结
2015/07/01 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
jQuery版Tab标签切换
2011/03/16 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
用python代码做configure文件
2014/07/20 Python
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Python实现简单HTML表格解析的方法
2015/06/15 Python
分析Python读取文件时的路径问题
2018/02/11 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
Django 框架模型操作入门教程
2019/11/05 Python
python 实现视频 图像帧提取
2019/12/10 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
小学后勤管理制度
2014/01/14 职场文书
英语导游词
2015/02/13 职场文书
公司费用报销管理制度
2015/08/04 职场文书
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL