Hallo!
Ich arbeite mich gerade in JQuery ein und habe jetzt eine Frage, wo der Code am besten platziert wird.
$(document).ready nimmt man ja, wenn etwas ausgeführt werden soll, sobald das DOM fertig ist. Ich habe jetzt aber zwei (meiner Ansicht nach) recht ähnliche FUnktionen:
In externer Datei
(#main ist das erste div nach body)
und dann noch in der HTML-Datei im <script></script> bevor sich der body schließt:
#wuwu ist ein div innerhalb eines divs innerhalb von #main.
im CSS
(ja, schamlos wom W3C geklaut...)
Die obere Code klappt wunderbar, der untere klappt nicht, wenn ich ihn in $(document).ready() packe und in die externe Datei reinhaue und ich verstehe nicht, wieso. Bei JavaScript ist mir klar, dass manche Sachen erst dann funzen, wenn das element geladen ist. Aber ich dachte, dass man mit der JQuery funktion auf der sicheren Seite ist, weil ja eben gewartet wird, bis alle DOM-Elemente vorhanden sind.
Ich arbeite mich gerade in JQuery ein und habe jetzt eine Frage, wo der Code am besten platziert wird.
$(document).ready nimmt man ja, wenn etwas ausgeführt werden soll, sobald das DOM fertig ist. Ich habe jetzt aber zwei (meiner Ansicht nach) recht ähnliche FUnktionen:
In externer Datei
HTML Code:
$(document).ready(function() { $("#main").click(function() { $(this).css('background', 'rgb(3,232,111)'); }); });
und dann noch in der HTML-Datei im <script></script> bevor sich der body schließt:
Code:
$("#wuwu").click(function () { $(this).addClass('animate'); });
im CSS
Code:
.animate { animation:myfirst 5s; } @keyframes myfirst { from {background: red;} to {background: yellow;} }
Die obere Code klappt wunderbar, der untere klappt nicht, wenn ich ihn in $(document).ready() packe und in die externe Datei reinhaue und ich verstehe nicht, wieso. Bei JavaScript ist mir klar, dass manche Sachen erst dann funzen, wenn das element geladen ist. Aber ich dachte, dass man mit der JQuery funktion auf der sicheren Seite ist, weil ja eben gewartet wird, bis alle DOM-Elemente vorhanden sind.
Comment