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

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -