bootstrap实现响应式导航栏,并解决滚动条并闪现的问题

每个导航栏的<li>标签上加属性data-toggle="collapse" data-target="#myCollapsible"实现当行栏的显示隐藏,会出现点击时滚动条并闪现的问题。
解决方式是使用angular.element("#myCollapsible").collapse('hide')方法替换。
1、HTML:

<div ng-app="myApp" ng-controller="gridCtrl"> 
	<!--屏幕缩小之后,导航栏将收缩起来-->
	<nav id="navbar-example" class="navbar navbar-default navbar-fixed-top" role="navigation">
	    <div class="container">
	        <div class="navbar-header">
	            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myCollapsible">
	                <span class="sr-only">Toggle navigation</span>
	                <span class="icon-bar"></span>
	                <span class="icon-bar"></span>
	                <span class="icon-bar"></span>
	            </button>
	        </div>
	        <div  class="collapse navbar-collapse" id="myCollapsible">
	            <ul class="nav navbar-nav navbar-right" >
	                    <li ui-sref-active="active" ng-click="hideNav()"><a ui-sref="home" ><span class="glyphicon glyphicon-home"></span><span class="hidden-sm"> 首页</span></a></li>
	                    <li class="dropdown" ng-hide="loginValue1" >
	                        <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
	                            <span class="glyphicon glyphicon-user"></span>
	                            <span class="hidden-sm">账号</span>
	                            <span class="caret"></span>
	                        </a>
	                        <ul class="dropdown-menu">
	                            <li ng-click="hideNav()"><a ui-sref="login" ><span class="glyphicon glyphicon-log-in"></span><span>&nbsp;&nbsp;登录</span></a></li>
	                            <li ng-click="hideNav()"><a><span class="glyphicon glyphicon-plus-sign"></span><span>&nbsp;&nbsp; 注册</span></a></li>
	                        </ul>
	                    </li>
	            </ul>
	        </div>
	    </div>
	</nav>
</div>

2、js上:

<script>
    var app = angular.module('myApp',[]);
    app.controller('gridCtrl', function($scope,$rootScope) {
        var vm = this;
       $rootScope.hideNav = hideNav;
       function hideNav(){
        angular.element("#myCollapsible").collapse('hide')
       }
    });
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Bootstrap响应式布局导航栏自动折叠隐藏效果可以通过以下步骤来实现: 1. 在HTML文件中添加导航栏代码,使用Bootstrap提供的样式类实现基本的导航栏布局。 2. 使用Bootstrap提供的“navbar-toggle”样式类,创建一个按钮,用于在小屏幕设备下展开或者收起导航栏。 3. 使用Bootstrap提供的“collapse”样式类,来实现导航栏内容的自动折叠隐藏。在按钮上添加“data-target”属性和“#navbar-collapse”值,来指定需要折叠的导航栏内容。 4. 使用Bootstrap提供的JavaScript库,实现导航栏按钮的点击事件,使得点击按钮后可以展开或者收起导航栏内容。 下面是一个实现响应式布局导航栏自动折叠隐藏效果的示例代码: ``` <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" 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="#">Brand</a> </div> <div class="collapse navbar-collapse" id="navbar-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Home <span class="sr-only">(current)</span></a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </div> </div> </nav> ``` 在上述示例代码中,“navbar-toggle”样式类创建了一个按钮,用于在小屏幕设备下展开或者收起导航栏。使用“collapse”样式类实现导航栏内容的自动折叠隐藏,并在按钮上添加“data-target”属性和“#navbar-collapse”值,来指定需要折叠的导航栏内容。 需要注意的是,为了使JavaScript库正常工作,需要在页面中引入Bootstrap提供的jQuery库和Bootstrap的JavaScript插件库。在HTML文件的底部添加以下代码,即可引入这两个库: ``` <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> ``` 通过上述步骤,即可实现Bootstrap响应式布局导航栏自动折叠隐藏效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值