国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Bootstrap Mega Menu

booster / 889人閱讀

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

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

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

有道詞典:

Mega Menu: 大數據量網頁菜單;超級菜單式;巨型菜單;超級菜單。

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

菜單容器的樣式

復用 Yamm!3 的關鍵樣式。

/** 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 組件通過點擊打開菜單,不符合大菜單場景,需要修改成,鼠標移入時打開菜單,鼠標移出時關閉菜單。

鼠標移入時,顯示菜單。

鼠標移出時,隱藏菜單。

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

$(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);
    });
});
自適應屏幕寬度

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

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

@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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89381.html

相關文章

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

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

    stackfing 評論0 收藏0
  • 【面向對象的PHP】之模式:工廠方法

    摘要:工廠方法模式面向對象的設計強調抽象類高于實踐,盡可能的將代碼設計的一般化,而非特殊化也就是降低耦合,提升標準性。于是,前輩們便設計了特定類處理實例化的工廠方法。實現這個時候我們引入工廠方法模式,設置類創造者,類產品,。面向對象設計模式目錄 工廠方法模式 面向對象的設計強調抽象類高于實踐,盡可能的將代碼設計的一般化,而非特殊化——也就是降低耦合,提升標準性。于是,前輩們便設計了特定類處理...

    xingpingz 評論0 收藏0

發表評論

0條評論

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