javascript - Do not understand why the CDN for Bootstrap JS and Jquery will not work unless in both the HTML Head & within the HTML Body -
i'm having weird problem getting scripts work on page.
if take bootstrap cdn , jquery cdn out of html body, not work on page , vice versa, if take out of body , leave in head not work. working if in both head & body.
do know why? see code below:
<!doctype html> <html> <head> <title>image gallery</title> <!-- bootstrap css cdn --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="gallery.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <!-- bootstrap js cdn --> <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <!-- jquery cdn--> <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script> </head> <body> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <!-- navbar header --> <div class="navbar-header"> <!-- collapse button --> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse" aria-expanded="false"> <span class="sr-only">toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <!-- brand --> <a href="#" class="navbar-brand"><span class="glyphicon glyphicon-picture" aria-hidden="true"></span> imgs</a> </div> <!-- hide @ mobile size --> <div class="collapse navbar-collapse" id="bs-navbar-collapse"> <!-- left side --> <ul class="nav navbar-nav"> <li><a href="#">about</a></li> <li><a href="#">contact</a></li> </ul> <!-- right side --> <ul class="nav navbar-nav navbar-right"> <li><a href="#">sign up</a></li> <li><a href="#">login</a></li> </ul> </div> </div> </nav> <div class="container"> <div class="jumbotron"> <h1><i class="fa fa-camera-retro" aria-hidden="true"></i> image gallery</h1> <p>a bunch of beautiful images didn't take!</p> </div> <div class="row"> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> <div class="col-lg-4 col-sm-6 col-xs-12"> <div class="thumbnail"> <img src="photo1.jpg"> </div> </div> </div> </div> <!-- bootstrap js cdn --> <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <!-- jquery cdn--> <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script> </body> </html>
you have scripts in wrong order - bootstrap needs jquery loaded beforehand, so, in head:
<!-- jquery cdn--> <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.js"></script> <!-- bootstrap js cdn --> <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
in order.
the reason getting confused because in head bootstrap (does nothing because jquery isn't there) , then load jquery.... then, @ bottom of body loading bootstrap again (will work time because jquery included beforehand in head), , load jquery again (pointless).
so idea is, load jquery, bootstrap, , good!
Comments
Post a Comment