molily: Jquery Frage

Beitrag lesen

Hallo,

Nun habe ich die (native) Funktion "reiter" entfernt, weil ich das Wechseln der Reiter im restlichen Script über ein Jquery onclick Event ausführe.

Hmm… was denn nun? Willst du beim Laden der Seite Code ausführen oder beim Klick? Oder beides?

if ($_GET['reiter'] == 2) {

echo ("
<script type="text/javascript">
reiter('r2','r1');
</script>
");
}


>   
> Geht sowas adäquat auch über Jquery?  
  
Ich fürchte, verstehe dein Problem nicht ganz… Ich hatte schon in <https://forum.selfhtml.org/?t=217953&m=1498895> versucht, das Zusammenspiel von JavaScript und jQuery zu erklären.  
  
Es scheint mir, das hat mit jQuery nichts zu tun, sondern mit grundlegender JavaScript-Logik. Wenn du eine Code mehrfach bzw. wahlweise ausführen willst, ist es hilfreich, ihn in einer Funktion unterzubringen. Mit oder ohne jQuery.  
  

> Also, wie kann ich den Code  
>   
> ~~~javascript

$(\"#r1\").toggle(200);  

> $(\"#r2\").toggle(400);  
> $(\"#t2\").removeClass(\"deaktiv\");  
> $(\"#t2\").addClass(\"aktiv\");  
> $(\"#t1\").removeClass(\"aktiv\");  
> $(\"#t1\").addClass(\"deaktiv\");  
> });

ausführen, wenn beim Aufruf der Seite $_GET['reiter'] == 2 ist?

Indem du ihn wieder in eine wiederverwendbare Funktion packst und diese wahlweise beim Laden der Seite ausführst, je nachdem, wie due URL lautet. Das kannst du entweder mit PHP machen (wie bisher) oder auch mit JavaScript (darauf hatte 1UnitedPower hingewiesen).

Und muß der css-Klassenwechsel so kompliziert sein, wie ich es notiert habe? Die Klasse toggeln hatte nicht die Wirkung, die ich wollte.

Togglen sollte funktionieren, wenn die Zustände immer konsistent sind (d.h. wenn t1 aktiv ist, muss t2 inaktiv sein, sonst führt das Togglen wieder zu einem falschem Ergebnis).

Sinnvoller ist es, *eine* »aktiv«-Klasse und keine »deaktiv«-Klasse, sodass nur eine Klasse getoggelt werden muss.

Grüße
Mathias