成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Bootstrap Mega Menu

booster / 898人閱讀

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

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

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

有道詞典:

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

基于Bootstrap Dropdown,實(shí)現(xiàn)一個(gè)大菜單,有三個(gè)問(wè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;
}
鼠標(biāo)事件

Bootstrap Dropdown 組件通過(guò)點(diǎn)擊打開(kāi)菜單,不符合大菜單場(chǎng)景,需要修改成,鼠標(biāo)移入時(shí)打開(kāi)菜單,鼠標(biāo)移出時(shí)關(guān)閉菜單。

鼠標(biāo)移入時(shí),顯示菜單。

鼠標(biāo)移出時(shí),隱藏菜單。

鼠標(biāo)點(diǎn)擊菜單中的鏈接時(shí),隱藏菜單。

$(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)屏幕寬度

當(dāng)屏幕尺寸小于768像素時(shí),菜單會(huì)自動(dòng)折疊,恢復(fù)Bootstrap默認(rèn)行為,通過(guò)點(diǎn)擊來(lái)打開(kāi)菜單。

有個(gè)取巧的方法,我們使用一個(gè)只在屏幕大于768像素時(shí)生效的.hover類(lèi),這樣一來(lái),屏幕超過(guò)768像素,菜單是通過(guò)鼠標(biāo)進(jìn)入打開(kāi),而屏幕小于768像素時(shí),使用Bootstrap Dropdown的默認(rèn)行為,即通過(guò)點(diǎn)擊來(lái)打開(kāi)和關(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89381.html

相關(guān)文章

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

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

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

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

    xingpingz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<