使用jquery+CSS3實現(xiàn)仿windows10開始菜單的下拉導(dǎo)航菜單特效
這是一款仿windows10開始菜單的下拉導(dǎo)航菜單特效。該下拉菜單使用jQuery和CSS3來完成類似windows10開始菜單樣式效果,它的代碼簡潔,效果非常時尚。
該下拉菜單的HTML結(jié)構(gòu)非常簡單,基本的HTML結(jié)構(gòu)如下:
<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樣式中,頂部導(dǎo)航條.top-bar設(shè)置為固定高度50像素和相對定位,并給出一個較高的z-index值。
.top-bar { height: 50px; position: relative; z-index: 1000; }
下拉菜單.navbox開始的時候是隱藏的,它采用絕對定位,通過translateY方法將它移動到導(dǎo)航條上方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; }
接著在下拉菜單被激活的時候,它的透明度被設(shè)置回1,變?yōu)榭梢姞顟B(tài),并通過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切換相應(yīng)的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));
相關(guān)文章
jQuery 1.9.1源碼分析系列(十)事件系統(tǒng)之主動觸發(fā)事件和模擬冒泡處理
這篇文章主要介紹了jQuery 1.9.1源碼分析系列(十)事件系統(tǒng)之主動觸發(fā)事件和模擬冒泡處理的相關(guān)資料,需要的朋友可以參考下2015-11-11jQuery Migrate 1.1.0 Released 注意事項
jQuery開發(fā)團隊前一段時間發(fā)布了jQuery 1.9版本,刪除了1.8版本中的部分API,為了使前端開發(fā)者能夠順利遷移至該版本,該團隊還發(fā)布了遷移插件jQuery Migrate2014-06-06