簡體   English   中英

如何僅在移動視圖中使導航欄折疊

[英]How to make nav bar collapse only when in moble view

在全屏視圖中,導航欄崩潰了,我遇到了問題。 我想通過移動屏幕將導航欄折疊到漢堡包中,並編寫了一個自定義指令。 現在,在全屏模式下,當您單擊鏈接時,導航欄會折疊並引起煩人的閃爍! 任何想法或幫助將不勝感激! 這是我的代碼:

JS:

.directive('collapseMenu', function () {
    return {
        link: function (scope, elem, attrs) {
            $('.nav a').on('click', function(){
                $('.navbar-toggle').click() 
            });
        }
    }
});

HTML:

<!-- Navigation -->
    <nav class="navbar navbar-default" role="navigation">
        <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div collapse-menu class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1">
                    <span class="sr-only">Show Menu</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <!-- navbar-brand is hidden on larger screens, but visible when the menu is collapsed -->
                <a class="navbar-brand" href="#/home"></a><a <img src="images/phone.png" alt="press to call"></a>
            </div>
            <!-- Collect the nav links, forms, and other content for toggling -->
            <div  class="collapse navbar-collapse" id="navbar-collapse-1" >
                <ul class="nav navbar-nav">
                    <li><a class="home" href="#/home">Home</a></li>
                    <li><a class="about" href="#/about">About</a></li>
                    <li><a class="con" href="#/contact">Contact</a></li>
                    <li><a class="review" href="#/review">Reviews</a></li>
                    <li><a class="admin" href="#/admin">Admin</a></li>
                </ul>
            </div>
        </div>
    </nav>

因此,如果要消除較大屏幕上的折疊,您必須在鏈接點擊功能中添加屏幕寬度檢查。 並且,如果它小於特定大小,則觸發.navbar-toggle單擊功能。 否則,您什么也不做。 您可以使用$(window).width()檢查屏幕寬度。 因此,您的指令代碼將變為:

.directive('collapseMenu', function () {
    return {
        link: function (scope, elem, attrs) {
            $('.nav a').on('click', function(){
                if ($(window).width() <= 1200) {
                  $('.navbar-toggle').click(); 
                }
            });
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM