在按钮外部单击时,如何在我的菜单中关闭动画合拢

用户名

我的导航栏是这样的:

http://jsfiddle.net/Hg4Ts/3/

我的html代码:

<div class="wrapper">
    <div class="navbar navbar-default" role="navigation">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <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="#">Project name</a>
        </div>
        <div class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li><a href="#">Link</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li class="divider"></li>
                <li class="dropdown-header">Nav header</li>
                <li><a href="#">Separated link</a></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <li class="active"><a href="./">Default</a></li>
            <li><a href="../navbar-static-top/">Static top</a></li>
            <li><a href="../navbar-fixed-top/">Fixed top</a></li>
          </ul>
        </div><!--/.nav-collapse -->
    </div>
</div>

我的JavaScript代码:

$(document).ready(function () {
    function CloseNav() {
        $(".navbar-collapse").stop().css({ 'height': '1px' }).removeClass('in').addClass("collapse");
        $(".navbar-toggle").stop().removeClass('collapsed');
    }

    $('html').click(function (event) {
        var clickover = $(event.target);
        var _opened = $(".navbar-collapse").hasClass("navbar-collapse in");
        if (_opened === true && !clickover.hasClass("navbar-toggle")) {
            CloseNav();
        }

    });
});

在按钮外部单击时,如何在菜单中放置动画合拢。当在按钮外部单击但没有动画效果时,它将关闭。仅当折叠处于打开状态时,如何菜单按钮才能更改颜色?

badAdviceGuy

此解决方案可能适合您。将您的CloseNav()函数切换到下面:

    function CloseNav() {
        $(".navbar-collapse").stop().animate({'height': 0},300, function () {
            $('.navbar-collapse').removeClass('in').addClass("collapse");
        });
        $(".navbar-toggle").stop().removeClass('collapsed');
    };

看起来只要将.collapse添加到导航栏中,就可以立即切换高度。如果制作动画然后添加类,它将创建您想要的上滑效果。

小提琴演示

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在按钮单击上切换下拉菜单并在外部单击上关闭?

如何在按钮单击时关闭 Snackbar?

iOS,Swift,UIAlertController,UIAlertAction-如何在按下按钮时关闭关闭动画?

如何在按钮单击时消除uwp中的吐司

如何在按钮单击时使用钩子重新设置 react-spring 动画?

我如何在按下菜单按钮之前更新菜单

在菜单容器外部单击时如何关闭下拉菜单?

ubuntu中的关闭按钮如何在单击时起作用?

如何在菜单顶部(在material-ui中单击时,按钮菜单中第一项上方)添加标题和关闭按钮?

CSS ONLY - 如何在按钮悬停时滑出菜单?

当我的按钮放置在angularjs中的不同控制器中时,如何在按钮单击时调用控制器功能

javascript中单击按钮时动画菜单中的问题

我如何在按钮单击时调用动作

我如何在按钮内单击创建循环

如何在单击按钮时关闭引导程序下拉菜单?

如何在按钮单击时显示新的 HTML 表格

如何在按钮单击时添加/减去日期?

如何在按钮单击时更新排版文本

如何在按钮单击时应用显示和隐藏?

如何在按钮单击时隐藏 Bootstrap 5 模式

如何在按钮单击时显示加载程序

如何在按钮单击时显示引导折叠 div?

Swift如何在按钮单击时显示标签栏

ReactJS:如何在按钮单击时更改文本值

如何在按钮单击时添加新的ObservableCollection?

如何在按钮单击时从 API 获取数据 - Javascript?

如何在按钮单击时循环显示图像

如果javascript中的模式匹配,如何在按钮单击时显示内容?

如何在按钮单击时将图片连续添加到 ReactJS 中的表格