亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Bootstrap Mega Menu

booster / 977人閱讀

摘要:完整的代碼放在。鼠標事件組件通過點擊打開菜單,不符合大菜單場景,需要修改成,鼠標移入時打開菜單,鼠標移出時關(guān)閉菜單。鼠標移入時,顯示菜單。自適應(yīng)屏幕寬度當屏幕尺寸小于像素時,菜單會自動折疊,恢復(fù)默認行為,通過點擊來打開菜單。

完整的代碼放在 jsFiddle Bootstrap Mega Menu 。

我們管 Mega Menu 叫做“大菜單”吧,“巨”、“超級”啥的,不足以彰顯我們的草根貴氣。

有道詞典:

Mega Menu: 大數(shù)據(jù)量網(wǎng)頁菜單;超級菜單式;巨型菜單;超級菜單。

基于Bootstrap Dropdown,實現(xiàn)一個大菜單,有三個問題要解決:

菜單容器的樣式

復(fù)用 Yamm!3 的關(guān)鍵樣式。

/** Copy from Yamm!3 http://geedmo.github.io/yamm3/ */
.mega .nav,
.mega .collapse,
.mega .dropup,
.mega .dropdown {
  position: static;
}

.mega .container {
  position: relative;
}

.mega .dropdown-menu {
  left: auto;
}

.mega .mega-content {
  padding: 20px 30px;
}

.mega .dropdown.mega-fw .dropdown-menu {
  left: 0;
  right: 0;
}
鼠標事件

Bootstrap Dropdown 組件通過點擊打開菜單,不符合大菜單場景,需要修改成,鼠標移入時打開菜單,鼠標移出時關(guān)閉菜單。

鼠標移入時,顯示菜單。

鼠標移出時,隱藏菜單。

鼠標點擊菜單中的鏈接時,隱藏菜單。

$(function() {
  $("body")
    .on("mouseenter", "li.dropdown", function() {
      !$("li.dropdown").hasClass("hover") && $(this).addClass("hover");
    })
    .on("mouseleave", "li.dropdown", function() {
      $("li.dropdown").hasClass("hover") && $(this).removeClass("hover");
    })
    .on("click", "a.menu-link", function() {
      var $this = $(this);
      setTimeout(function() {
        $this.closest("li.dropdown").removeClass("hover");
      }, 100);
    });
});
自適應(yīng)屏幕寬度

當屏幕尺寸小于768像素時,菜單會自動折疊,恢復(fù)Bootstrap默認行為,通過點擊來打開菜單。

有個取巧的方法,我們使用一個只在屏幕大于768像素時生效的.hover類,這樣一來,屏幕超過768像素,菜單是通過鼠標進入打開,而屏幕小于768像素時,使用Bootstrap Dropdown的默認行為,即通過點擊來打開和關(guān)閉菜單。

@media (min-width: 768px) {
  /* disable dropping down on mouse click */
  ul.nav li.open > ul.dropdown-menu {
    display: none;
  }
  /* enable dropping down on mouse hover */
  ul.nav li.dropdown.hover > ul.dropdown-menu {
    display: block;
  }
  /* changing caret pointing direction on hover */
  .nav .dropdown.hover .caret {
    border-top: none;
    border-bottom: 4px dashed;
  }
}

完整的代碼放在jsFiddle Bootstrap Mega Menu 。

參考資料:

Immediately-Invoked-Function-Expression vs. Self-Executing Anonymous Function

Closures explained with JavaScript

Mouse Over vs. Mouse Enter

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/89381.html

相關(guān)文章

  • Bootstrap 之 Metronic 模板的學(xué)習之路 - (1)總覽

    摘要:寫在前面的模板非常多,上有著各種各樣的免費及付費模板。概述是一個基于設(shè)計的自適應(yīng)多用途的管理后臺模板。下一篇之模板的學(xué)習之路源碼分析之部分 寫在前面 bootstrap 的模板非常多,Envato 上有著各種各樣的免費及付費模板。Metronic 是我最喜歡的模板之一(看一眼就喜歡上的那種),當前售價 $28 ,覺得贊的,不妨支持一下作者。覺得貴的,想必不用我說,你也會找到途徑。:b ...

    stackfing 評論0 收藏0
  • 【面向?qū)ο蟮腜HP】之模式:工廠方法

    摘要:工廠方法模式面向?qū)ο蟮脑O(shè)計強調(diào)抽象類高于實踐,盡可能的將代碼設(shè)計的一般化,而非特殊化也就是降低耦合,提升標準性。于是,前輩們便設(shè)計了特定類處理實例化的工廠方法。實現(xiàn)這個時候我們引入工廠方法模式,設(shè)置類創(chuàng)造者,類產(chǎn)品,。面向?qū)ο笤O(shè)計模式目錄 工廠方法模式 面向?qū)ο蟮脑O(shè)計強調(diào)抽象類高于實踐,盡可能的將代碼設(shè)計的一般化,而非特殊化——也就是降低耦合,提升標準性。于是,前輩們便設(shè)計了特定類處理...

    xingpingz 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<