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

时间:2015-03-24 11:49:38

标签: javascript jquery html css submenu

我是hmtl css jquery js的初学者..

我有一个粘性的导航,但无法将子菜单添加到导航,如果创建子菜单,我希望导航保持粘性。那可能吗? 任何帮助都要感谢... 这是我目前的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>

这是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;
}

2 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

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

上面的代码 150 是虚拟值,您可以根据自己的要求尝试编号。

OR

试试此链接:http://www.backslash.gr/demos/jquery-sticky-navigation/

答案 1 :(得分:0)

例如

 <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>