
查看演示 源码下载
该下拉菜单的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样式
.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(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));