简体   繁体   English

带有子菜单的粘滞导航和平滑滚动

[英]sticky navigation with submenu and smooth scroll

Im a beginner in hmtl css jquery js.. 我是hmtl css jquery js的初学者。

I have a navigation that is sticky but can not add sub menu to navigation, also if sub menu is created i want the navigation to stay sticky. 我有一个粘性导航,但是不能将子菜单添加到导航中,如果创建了子菜单,我也希望导航保持粘性。 Is that possible? 那可能吗? Any help would to thanks... Here is my current html 任何帮助,谢谢...这是我当前的html

<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="row">
            <div class="navbar-header">
                <button class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">    
                    <span class="icon icon-bar"></span>
                    <span class="icon icon-bar"></span>
                    <span class="icon icon-bar"></span>
                </button>   
                <a href="#" class="navbar-brand"><h3>TEST NAV LOGO</h3></a>
            </div>
            <div class="collapse navbar-collapse">
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#home" class="smoothScroll">HOME</a></li>
                    <li><a href="#about" class="smoothScroll">ABOUT</a></li>
                    <li><a href="#team" class="smoothScroll">TEAM</a></li>
                </ul>
            </div>
        </div>
    </div>

Here is the CSS 这是CSS

.navbar-default {
    background: #FFFFFF;
    border: none;
    box-shadow: 0px 2px 8px 0px rgba(50, 50, 50, 0.08);
    margin: 0 !important;
}
.navbar-default .navbar-brand {
    color: #0066cc;
    height: 65px;
    line-height: 40px;
    padding-left: 0px;
    margin-LEFT: -10;
    width:100px;
    FLOAT: right;
}
.navbar-default .navbar-brand h3 {
    font-weight: bold;
}
.navbar-default .navbar-nav li a {
    color: #ff0000;
    font-weight: bold;
    height: 65px;
    line-height: 30px;
    FONT-SIZE: 14.5px;
}
.navbar-default .navbar-nav li a:hover {
    color: #0066cc;
    ul {
        list-style:none;
        padding:0;
    }
}
.navbar-default .navbar-nav > li > a:focus {
    color: #0066cc;
}
.navbar-default .navbar-toggle {
    margin-top: 16px;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #66AF33;
    color: #FFFFFF;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
    color: #0066cc;
    background-color: transparent;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
    background-color: #FFFFFF;
}
.navbar-default .navbar-toggle:hover .icon-bar {
    backgroundcolor:#66AF33;
}

You can try below code: 您可以尝试以下代码:

$(document).scroll(function() {
    if ($(this).scrollTop() > 150) {
        $('.navbar').css('position','fixed');
        $('.navbar').css('top','0');
    } 
    else {
        $('.navbar').css('position','static');
    }
});

Here in above code 150 is dummy value you can try a number as per your requirement. 在上面的代码150中,您可以根据需要尝试输入一个虚拟值。

OR 要么

Try this link : http://www.backslash.gr/demos/jquery-sticky-navigation/ 试试这个连结: http : //www.backslash.gr/demos/jquery-sticky-navigation/

example

 <li><a href="#">Menu 2</a>
<ul>
  <li><a href="#">Sub Menu 1</a></li>
  <li><a href="#">Sub Menu 2</a></li>
  <li><a href="#">Sub Menu 3</a></li>
</ul>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM