【问题标题】:sticky navigation with submenu and smooth scroll带有子菜单和平滑滚动的粘性导航
【发布时间】:2015-03-24 20:07:17
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery html css submenu


    【解决方案1】:

    你可以试试下面的代码:

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

    在上面的代码中 150 是虚拟值,您可以根据需要尝试一个数字。

    或

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

    【讨论】:

    • 谢谢,导航很粘而且工作正常,我该如何添加子菜单,所以如果我将鼠标悬停在主菜单上,子菜单会出现?
    • @Assy 你能提供一个小提琴吗?
    • 菜单 2 李>
  • 是的,添加了子菜单并且平滑滚动正常工作,但粘性导航仍然不起作用,我粘贴在标题中的 java 脚本?还是我打算粘贴到其他地方?
  • 谢谢。我现在已经让它工作了,在导航之前移动了 javascript,这似乎工作..brilliant
  • 【解决方案2】:

    例子

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

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签