Twitter bootstrap navbar collapse function not working
If you are not using twitter bootstrap's javascript then you can use angular-ui bootstrap's collapse
directive to collapse your navbar. Just make sure to put an ng-click
directive on the .navbar-toggle
button to negate the current value of the collapse variable. Add another ng-click
to the .navbar-collapse
element to collapse the navbar when a link has been clicked.
Here's a DEMO
<body ng-click="collapse = false">
<div class="navbar navbar-default" ng-click="$event.stopPropagation()">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
ng-click="collapse = !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">
Title
</a>
</div>
<div class="collapse navbar-collapse"
ng-controller="HeaderController"
collapse="!$parent.collapse" ng-click="$parent.collapse = false">
<ul class="nav navbar-nav navbar-right">
<li><a href="">link</a></li>
</ul>
</div>
</div>
</div>
</body>
UPDATE:
1 I noticed that you have an ng-controller
within the .navbar-collapse
item, since an ng-controller
creates a child scope, you have to use collapse="!$parent.collapse"
and ng-click="$parent.collapse = false"
within that element itself. The plunker has been updated above, check it out.
2 As a side note, you can take it a step further and add an ng-click="collapse = false"
within your html body to collapse the navbar when the user clicks outside of the navbar, just make sure to add ng-click="$event.stopPropagation()"
to the .navbar
element to avoid collapsing it while the user is clicking the .navbar-toggle
.
Navbar collapse is not working in Bootstrap
Try this.. i have just added ul and li to your code to show visible effect you can use your code section there..
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script><script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script><link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<div class="navbar-wrapper"> <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container"> <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" herf="/"><img src="assets/img/logo.png" alt="Bootstrap to WordPress"></a> </div><!-- navbar-header --> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li> <a href="">First Menu Item</a> </li> <li> <a href="">Second Menu Item</a> </li> <li> <a href="">Third Menu Item</a> </li> </ul> </div><!-- collapse nav--> </div><!-- container -->
</div><!-- navbar --> </div>
Bootstrap 5 Nav-bar collapse does not work
You have to change the data-toggle to data-bs-toggle and use data-bs-target attribute. Add the ID in the collapse div. That's all.
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#collapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-collapse collapse" id="collapse">
Bootstrap navbar content not showing when collapsed
Here you go...
Change:
data-toggle="collapse"
(Bootstrap 4) todata-bs-toggle="collapse"
(Bootstrap 5)data-target="#navbarNav"
(Bootstrap 4) todata-bs-target="#navbarNav"
(Bootstrap 5)
#navbarLogo {
width: 10rem;
height: auto;
}
.navbar-brand img {
height: 50px;
width: auto;
padding-left: 30px;
}
#linkText {
font-family: hdFontMedium;
font-size: 1.5rem;
font-weight: bold;
text-align: center;
}
#navbarNav {
justify-content: flex-end;
align-items: center;
}
#navbarListItem {
padding-left: 10px;
padding-right: 10px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap css-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href=/static/main.css>
<link rel="stylesheet" href=/static/style.css>
<link rel="shortcut icon" type="image/png" href="/static/media/favicon.png" />
<title>Dimsum Siblings</title>
<!--font-awesome including icon for shopping cart-->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-secondary" id="navbar">
<a class="navbar-brand navbar-left" href="/" id="navbarLogoLink">
<img src="static/media/logoWithText.png" alt="" id="navbarLogo">
</a>
<button class="navbar-toggler m-auto" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="#navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active" id="navbarListItem">
<a class="nav-link px-6" id="mainNavlink" href="">
<h3 id="linkText">ABOUT US</h3>
</a>
</li>
<li class="nav-item active" id="navbarListItem">
<a class="nav-link px-6" id="mainNavlink" href="/dimsumshop">
<h3 id="linkText">ORDER DIMSUM BOX</h3>
</a>
</li>
<li class="nav-item active" id="navbarListItem">
<a class="nav-link px-6" id="mainNavlink" href="">
<h3 id="linkText">INSTRUCTIONS</h3>
</a>
</li>
<li class="nav-item active" id="navbarListItem">
<a class="nav-link px-6" id="mainNavlink" href="">
<h3 id="linkText">CONTACT</h3>
</a>
</li>
</ul>
</div>
</nav>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
</body>
</html>
Twitter Bootstrap Nav Collapsing not working properly
Try this at the top:
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
Also, add this at the bottom of your page before the closing tag
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="js/bootstrap.min.js"></script>
How to make Navbar collapse upon selection?
Just add:
$(".navbar-toggle").click();
To each route you want (in the router.js file). Or the better option is to define it as a function which you call at each route.
Router.route('/somewhere', function(){
$(".navbar-toggle").click();
this.render("navbar", {to:"navbar"});
this.render("something", {to:"main"});
});
Edit:
Using $('.navbar-toggle').click();
once off instead of applying it to each route, you can do that following in the router.js file:
Router.configure({
onAfterAction: function() {
if($('#navbar-collapse').hasClass('in')) {
$('.navbar-toggle').click();
}
}
});
Related Topics
Google Map API Route Request Limit
How to Jump to Top of Browser Page
Jquery.Lazy(): Plugin Is Not Loading My 'Li' Contents
Z-Index Inherits Parents Z-Index , or Not
How to Change the Design of the Textarea Resize Handle in CSS
How to Make the Whole Card Component Clickable in Material UI Using React Js
Angular - Ngfor* Four Elements on Row
Highlight Multiple Items on Hover's Condition
JavaScript How to Check User Agent for Mobile/Tablet
Detect Browser Graphics Performance
JavaScript - Page Has to Be Refreshed to Show Particle-Slider Logo Effect
Custom CSS Properties, Why Not
Iterate Through Colors in JavaScript
What Exactly Is Cdata and What Does It Do
Dropdown Image Not Visible in Chrome and Ie
Gulp Less Not Handling Includes Properly, Included Variables Not Defined