Lukas: JQuery - Ein paar allgeimene Fragen

Beitrag lesen

Hallo !

Ich habe folgende allgeimeine Fragen zu JQuery:
.) Muss jeglicher Code innerhalb von

$(document).ready(function() {

und

});

stehen ?

..und wenn ja warum ?

So wie ich das vertanden habe wird der Code in diesem Block ja eben nur dann ausgeführt, wenn das Dokument vollständig geladen wurde.
Angenommen ich möchte eine Messagebox anzeigen lassen, wenn ein Link geklickt wird:
Der funktionierende Code ist der hier:

$(document).ready(function() {  
 $("a").click(function() {  
  alert("!");  
 });  
});

Warum sieht der Code nicht so aus:

$(document).ready(function()	{  
 //irgendwas  
});  
  
$("a").click(function() {  
 alert("!");  
});  

...schließlich will ich, dass die Messagebox jedesmal bei einem Klick auf ein <a> angezeigt wird und nicht nur wenn gerade das
Dokument fertig geladen wurde... Villeicht  beudeutet das soviel wie: Beim fertigen Laden des Dokuments wird die Funktion wo alert() drinnensteht das Klick-Ergeignis von
<a> Elementen gebunden ?? Wenn ja, wie könnte man eine solche "Bindung" ändern ?

Dann habe ich noch eine Frage:

Folgender Code:

$(document).ready(function() {  
 alert("1");  
 alert("2");  
});  

Dabei wartet wird zuerst die 1. Messagebox angezeigt und danach die 2.

Das ist aber -wie ich festellen musste- nicht immer so:

$(document).ready(function()	{  
 $("a").click(function() {  
  $("div").hide("slow");  
  $("div").show("slow");		  
  $("div").hide("slow");  
  $("div").show("slow");		  
  $("div").hide("slow");  
  //return false;		  
 });  
});

Hier wartet das 1.show nicht auf das 1.hide und so weiter, sondern es wird gleich der Link verfolgt.
Meine Frage dazu: Wie könnte man realisieren, daß ein paar mal aus und eingeblendet wird, und erst dann der Link verfolgt wird.

Wenn man das //return false; auskommentiert, funktioniert der Code wie gewollt (ein hide wird nach slow ausgeführt, usw..) aber man bleibt auf der Seite...

$(document).ready(function()	{  
 $("a").click(function() {  
  $("div").hide("slow");  
  $("div").show("slow");		  
  $("ul").hide("slow");  
  $("ul").show("slow");		  
  return false;  
 });  
});  

Bei diesem Code wiederrum sieht man nur das hiden und showen der <div>s, das hiden und shown der <p> wird offenabar währenddessen (oder gar nicht?) ausgeführt.
Wird bei jQuery nicht jede Zeile nach der anderen ausgeführt, und zwar erst dann, wenn die oberer Zeile fertig ist ?

Ist eine langer Post, sorry, ich hoffe irgendwer kann Licht in mein Dunkel bringhen ...

Danke !