2017-03-08 2 views
-1

Ich versuche, jQuery zu verwenden, und es gibt mir verschiedene Fehler. Ich habe versucht, verschiedene Script-Tags zu mischen, hatte aber keinen Erfolg. Hier ist ein Code:Warum funktioniert jQuery nicht mit Bootstrap 4 Alpha 6?

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> 
    </head> 
    <body> 
<style> 
/*some css here*/ 
    </style> 

     <!--a bunch of HTML here--> 
     <script> 
if(jQuery){ 
alert('yes'); 
} 
    $(window).load(function(){ 
      $('.intro').fadeIn(500, function(){ 
       $(".welcomeSize").fadeIn(500); 
      }); 
     }); 
    </script> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> 
    </body> 
</html> 

Ich erhalte eine Fehlermeldung, dass jQuery nicht definiert ist. Wenn ich die JQuery-CDN vor mein Skript setze, erhalte ich diesen Fehler:

Gibt es etwas, das ich vermisse?

+1

Bootstrap entfernen. Sie werden ziemlich schnell sehen, dass es nichts miteinander zu tun hat. –

Antwort

3

Ihr Problem bezieht sich nicht auf Bootstrap, Sie fügen jQuery-abhängiges Skript hinzu, bevor es geladen wird. Fügen Sie Ihr Skript nach jQuery hinzu und verwenden Sie $(document).ready(), .load() ist veraltet. https://api.jquery.com/load-event/

.intro{ 
 
\t width: 200px; 
 
\t height: 200px; 
 
\t background: purple; 
 
\t display: none; 
 
} 
 
.welcomeSize{ 
 
\t width: 200px; 
 
\t height: 200px; 
 
\t background: violet; 
 
\t display: none; 
 
}
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JQuery+Bootstrap</title> 
 
</head> 
 
<body> 
 
<!DOCTYPE html> 
 
<html lang="en"> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous"> 
 
    </head> 
 
    <body> 
 

 
<div class="intro"> 
 
\t 
 
</div> 
 
\t <div class="welcomeSize"> 
 
\t \t 
 
\t </div> 
 

 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> 
 
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script> 
 
\t  <script> 
 
if(jQuery){ 
 
console.log('yes'); 
 
} 
 
    $(document).ready(function(){ 
 
      $('.intro').fadeIn(500, function(){ 
 
       $(".welcomeSize").fadeIn(500); 
 
      }); 
 
     }); 
 
    </script> 
 
    </body> 
 
</html> 
 
</body> 
 
</html>

1

Sie haben jquery zu importieren, bevor Sie Code schreiben, mit Jquery so, was Sie tun müssen, ist

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 

// then your code goes here 

die zweite Sache für Uncaught TypeError: a.indexOf is not a function

Sie $(window).on('load', function() { ... });

statt

verwenden sollten
$(window).load(function() { ... }); 

load, .unload, and .error, deprecated since jQuery 1.8, are no more. Use .on() to register listeners.

+1

Ich verstehe den Downvote nicht, diese Antwort ist richtig ... – r3bel

-1

Beachten Sie, dass die jQuery verwendet haben, Befehle, bevor das Skript zu verknüpfen. Das Skript-Tag, dessen Quell-Attribut (src) auf Google CDN verweist, muss vor dem jQuery-Befehl stehen.

+0

Dieser Beitrag hat bereits die Antwort akzeptiert. Du musst erst dann einen Betrogenen hinzufügen, wenn deine Antwort die vorhandene Antwort verbessert. –

Verwandte Themen