• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery angeklicktes Element in IF-Abfrage auswählen

sompek

Neues Mitglied
Hallo,

ich habe auf meiner Wordpress Webseite verschiedene Galerien über CPT UI angelegt. Damit diese übersichtlich dargestellt werden, soll sich immer nur eins beim Raufklicken der Überschrift öffnen. Das klappt auch alles soweit. Nur wenn ich nochmal auf die Überschrift klicke, die bereits offen ist, schließt und öffnet sie sich wieder. Bei meinem Quelltext ist das auch logisch, da ich in der IF Abfrage nicht das geöffnete Element spezifiziere.
Daher meine Frage: Wie kann ich sagen, dass das angeklickte Element überprüft werden soll?
Übrigens hat jede Galerie und deren Überschrift eine eigene ID.
Die JQuery Accordion Funktion habe ich bewusst nicht benutzt ;)

Code:
if (jQuery('#Galerie_Inhalt_Tag_<?php echo $i_Galerie;?>').is(':visible')) {

                                jQuery('#Galerie_Ueberschrift_Tag_<?php echo $i_Galerie;?>').click(function() {
                                    jQuery('#Galerie_Inhalt_Tag_<?php echo $i_Galerie;?>').slideUp();
                            });
                          
                        } else {
                                jQuery('#Galerie_Ueberschrift_Tag_<?php echo $i_Galerie;?>').click(function() {
                                    jQuery('.galerie_inhalt').slideUp();
                            });
                          
                                jQuery('#Galerie_Ueberschrift_Tag_<?php echo $i_Galerie;?>').click(function() {
                                    jQuery('#Galerie_Inhalt_Tag_<?php echo $i_Galerie;?>').slideDown();
                            });
                        }
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Damit diese übersichtlich dargestellt werden, soll sich immer nur eins beim Raufklicken der Überschrift öffnen. Das klappt auch alles soweit. Nur wenn ich nochmal auf die Überschrift klicke, die bereits offen ist, schließt und öffnet sie sich wieder. Bei meinem Quelltext ist das auch logisch, da ich in der IF Abfrage nicht das geöffnete Element spezifiziere.
Daher meine Frage: Wie kann ich sagen, dass das angeklickte Element überprüft werden soll?
Warum greifst Du nicht anstelle von .slideDown() u. .slideUp() direkt auf http://api.jquery.com/slidetoggle/ zurück, was das obige Script mit der if else-Bedingung erübrigt? :(
 
Das hatte ich zuerst so gehabt. Dann wollte ich aber dass sich die Galerie von Tag 1 schließt, wenn ich Tag 2 anklicke. Daher die erste Else Funktion. Wenn ich slideToggle nehme, schließen sich die anderen nicht automatisch. Aber über einfachere Varianten würde ich mich natürlich freuen :)
 
Werbung:
Ich möchte die Überschriften horizontal ausrichten. Da wäre es mit Sicherheit mehr Aufwand gewesen das alles mit CSS umzuschreiben. Besonders schön ist sie auch nicht. Das hätte man dann auch noch richten müssen.
Außerdem lerne ich so mit JQuery umzugehen ;)
 
Werbung:
Zurück
Oben