当导航栏回到固定位置时使其动画

塞克莉·乔纳森(Szekely Jonathan)

如您所见,当您向下滚动并成功使用技巧将其动画化时,导航栏会停留在页面顶部。问题是,当它回到页面顶部时,我无法使其动画。我正在使用Bootstrap 3

的HTML

    <nav id="navigation" class="navbar-fixed-top">
        <div class="container">
            <div class="row">
                <div class="col-xs-12" role="navigation">
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" href="#">
                            <img class="img-responsive" alt="Corex" src="images/logo.png">
                        </a>
                    </div>

                    <div class="shopbar pull-right">
                        <a data-toggle="collapse" href="#nav-shop" class="collapsed"> <i class="fa fa-lg fa-shopping-cart"></i> </a>
                        <a data-toggle="collapse" href="#search" class="collapsed"> <i class="fa fa-lg fa-search"></i> </a>
                    </div>

                    <div class="collapse navbar-collapse" id="navbar-collapse-1">

                        <ul class="nav navbar-nav navbar-right">
                            <li>
                                <div class="dropdown">
                                    <a data-toggle="dropdown" data-target="#" href="#" class="active"> Home <span class="main-text-color light">+</span> </a>
                                    <ul class="dropdown-menu" role="menu">
                                        <li>home shop</li>
                                        <li>home events</li>
                                        <li>home paralax</li>
                                        <li>home blog</li>
                                        <li>home portfolio</li>
                                        <li>home corporate : v1</li>
                                        <li>home corporate : v2</li>
                                        <li>home corporate : v3</li>
                                        <li>home corporate : v4</li>
                                        <li>home corporate : v5</li>
                                        <li>home corporate : v6</li>
                                        <li>create your own <i class="fa fa-play-circle-o"> </i> </li>
                                    </ul>
                                </div>
                            </li>
                            <li> <a href="#"> Headers <span class="main-text-color light">+</span> </a> </li>
                            <li> <a data-toggle="collapse" href="#uber-menu-1" class="collapsed hover-menu" href="#"> Shortcodes <span class="main-text-color light">+</span> </a> </li>
                            <li> <a href="#"> Features <span class="main-text-color light">+</span> </a> </li>
                            <li> <a href="#"> Blog <span class="main-text-color light">+</span> </a> </li>
                            <li> <a href="#"> Portfolio <span class="main-text-color light">+</span> </a> </li>
                            <li> <a href="#"> Shop <span class="main-text-color light">+</span> </a> </li>
                            <li> <a href="#"> Events <span class="main-text-color light">+</span> </a> </li>

                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </nav>

的CSS

#navigation.navbar-static-top {
    transition: top 1s ease;
    -webkit-transition: top 1s ease;
    -moz-transition: top 1s ease;
    -o-transition: top 1s ease;
    -ms-transition: top 1s ease;
    top: -200px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

#navigation.navbar-fixed-top {
    opacity: 0.95;
    transition: top 1s ease;
    -webkit-transition: top 1s ease;
    -moz-transition: top 1s ease;
    -o-transition: top 1s ease;
    -ms-transition: top 1s ease;
    top: 0;
}

#navigation a.navbar-brand {
    line-height: 72px;
    padding: 15px 0;
}

#navigation .navbar-brand img {
    display: inline-block;
}

#navigation li {
    display: inline-block;
    line-height: 103px;
}

#navigation li a {
    font-size: 13px;
    font-weight: 500;
    border-radius: 2px;
    padding: 8px 5px 8px 14px;
    display: inline-block;
}

#navigation a:hover {
    text-decoration: none;
}

JAVASCRIPT

var offset = 220;
var duration = 500;
jQuery(window).scroll(function () {
    if (jQuery(this).scrollTop() > offset) {
        jQuery('#totop').removeClass('colapsed');
        jQuery('#navigation').addClass('navbar-fixed-top');
        jQuery('#navigation').removeClass('navbar-static-top');

        jQuery('#nav-shop').addClass('fixed-top');
        jQuery('#search').addClass('fixed-top');

    } else {
        jQuery('#totop').addClass('colapsed');
        jQuery('#navigation').removeClass('navbar-fixed-top');
        jQuery('#navigation').addClass('navbar-static-top');

        jQuery('#nav-shop').removeClass('fixed-top');
        jQuery('#search').removeClass('fixed-top');
    }
});
朱利安·维尼奥莱斯(Julien Vignolles)

===编辑===

极简主义示例:http : //jsfiddle.net/julienvignolles/xwNqu/

使用Bootstrap,您的导航组件具有2种状态:

  1. navbar-static-top:在流程中(即不是绝对/固定/相对)
  2. navbar-fixed-top:与position: fixedtop: 0

动画是顶部的幻灯片。我们只是做添加类具有不同的top值,transition: top 1s ease(我们可以替代topall像混浊或任何其他动画属性)。

向上滚动时,我们删除class navbar-fixed-top导航栏不再position: fixed只是在流中。因此,我们不能使用隐藏动画。

工作环境是使用第三种状态,就像您在示例中所做的那样

  1. navbar-static-top (从顶部滚动0到100像素之间):
  2. navbar-fixed-top (滚动至100像素以下):我们修复了导航栏,但未显示
  3. navbar-move-down (滚动至220像素以下):我们显示导航栏

注意:#navigation.navbar-static-top并非必需,在中重命名此规则会更简单#navigation

的CSS

#navigation.navbar-fixed-top { 
    /* … */
    top: -100px;
}
#navigation.navbar-show-down {
    top: 0;
}

JAVASCRIPT

var offset_stuck = 100;
var offset_show_down = 220;
jQuery(window).scroll(function () {
    if (jQuery(this).scrollTop() > offset_stuck) {
        jQuery('#navigation').addClass('navbar-fixed-top');
        jQuery('#navigation').removeClass('navbar-static-top');
        // …
    } else {
        jQuery('#navigation').removeClass('navbar-fixed-top');
        jQuery('#navigation').addClass('navbar-static-top');
        // …
    }
    if (jQuery(this).scrollTop() > offset_show_down) {
        jQuery('#navigation').addClass('navbar-show-down');
    } else {
        jQuery('#navigation').removeClass('navbar-show-down');
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当导航栏回到固定位置时使其动画

来自分类Dev

粘性导航栏固定位置时内容会跳

来自分类Dev

jQuery导航栏的固定位置

来自分类Dev

谷歌地图绝对定位重叠固定位置导航栏

来自分类Dev

如何插入词缀导航栏,并且导航固定位置

来自分类Dev

如何插入词缀导航栏,并且导航固定位置

来自分类Dev

防止内容隐藏在固定位置的导航栏后面

来自分类Dev

汉堡导航栏不适用于固定位置

来自分类Dev

导航栏固定位置及其对其他元素定位的影响

来自分类Dev

导航栏固定位置停留在顶部,标题消失

来自分类Dev

保证金不适用于固定位置的导航栏

来自分类Dev

如何使导航栏始终位于屏幕中间的固定位置面板的顶部?

来自分类Dev

为什么导航栏将文本隐藏在固定位置?

来自分类Dev

为什么导航栏将文本隐藏在固定位置?

来自分类Dev

为什么导航栏将文本隐藏在固定位置?

来自分类Dev

为什么导航栏将文本隐藏在固定位置?

来自分类Dev

将导航栏固定在引导程序上的特定位置

来自分类Dev

CSS如何在固定位置导航栏下添加内容

来自分类Dev

在 css 文件中给它一个固定位置后导航栏的奇怪行为

来自分类Dev

固定了带有动画的导航栏

来自分类Dev

中心导航栏css,位置:固定

来自分类Dev

导航栏宽度,位置固定但不粘

来自分类Dev

KineticJS:对项目进行动画处理,使其在未放置到放置目标中时返回到初始位置

来自分类Dev

回到前台时导航栏位置重置

来自分类Dev

导航到#id时,元素隐藏在固定位置标题下

来自分类Dev

到达底部页脚时如何停止粘性侧边栏的固定位置

来自分类Dev

对齐固定位置的元素以使其水平居中

来自分类Dev

固定位置的导航栏/标题有效,但内容不会在标题下方滚动

来自分类Dev

当位置从固定切换到静态时,反向粘性导航栏不出现?

Related 相关文章

  1. 1

    当导航栏回到固定位置时使其动画

  2. 2

    粘性导航栏固定位置时内容会跳

  3. 3

    jQuery导航栏的固定位置

  4. 4

    谷歌地图绝对定位重叠固定位置导航栏

  5. 5

    如何插入词缀导航栏,并且导航固定位置

  6. 6

    如何插入词缀导航栏,并且导航固定位置

  7. 7

    防止内容隐藏在固定位置的导航栏后面

  8. 8

    汉堡导航栏不适用于固定位置

  9. 9

    导航栏固定位置及其对其他元素定位的影响

  10. 10

    导航栏固定位置停留在顶部,标题消失

  11. 11

    保证金不适用于固定位置的导航栏

  12. 12

    如何使导航栏始终位于屏幕中间的固定位置面板的顶部?

  13. 13

    为什么导航栏将文本隐藏在固定位置?

  14. 14

    为什么导航栏将文本隐藏在固定位置?

  15. 15

    为什么导航栏将文本隐藏在固定位置?

  16. 16

    为什么导航栏将文本隐藏在固定位置?

  17. 17

    将导航栏固定在引导程序上的特定位置

  18. 18

    CSS如何在固定位置导航栏下添加内容

  19. 19

    在 css 文件中给它一个固定位置后导航栏的奇怪行为

  20. 20

    固定了带有动画的导航栏

  21. 21

    中心导航栏css,位置:固定

  22. 22

    导航栏宽度,位置固定但不粘

  23. 23

    KineticJS:对项目进行动画处理,使其在未放置到放置目标中时返回到初始位置

  24. 24

    回到前台时导航栏位置重置

  25. 25

    导航到#id时,元素隐藏在固定位置标题下

  26. 26

    到达底部页脚时如何停止粘性侧边栏的固定位置

  27. 27

    对齐固定位置的元素以使其水平居中

  28. 28

    固定位置的导航栏/标题有效,但内容不会在标题下方滚动

  29. 29

    当位置从固定切换到静态时,反向粘性导航栏不出现?

热门标签

归档