Toggle funktioniert nicht

8

Ich habe eine Reihe von div-Paaren (eine "Kopfzeile" und einen "Körper"). Wenn der Benutzer auf die Kopfzeile klickt, sollte der nächste Körperabschnitt ein- / ausblenden (und das +/- Symbol aktualisieren). Alle divs werden geschrieben, um beim Laden der Seite "angezeigt" zu werden, aber ich möchte einige von ihnen "schließen" und der Benutzer kann sie öffnen, wenn sie es wünschen. Kann es einfach nicht zur Arbeit bringen! Code ist unten, wenn jemand helfen kann!

Beispielabschnitt:

%Vor%

Code zum Umschalten:

%Vor%

Diese letzte Zeile "schaltet" das angegebene div nicht um (d. h. "schließt es"). Wer weiß warum? Wahrscheinlich etwas einfaches.

Danke!

    
jqwha 06.08.2010, 14:11
quelle

5 Antworten

5

Es wird nicht umgeschaltet, indem einfach Folgendes angegeben wird:

%Vor%

Es sollte ein Ereignis folgen, Beispiel:

%Vor%

Aktualisierung:

Versuchen Sie Folgendes:

%Vor%     
Sarfraz 06.08.2010, 14:16
quelle
2

beim erneuten Lesen der Frage. Ich würde dies zu einem .click () ändern, dann sollte es Ihre Toggle-Handler auslösen, die zuvor angefügt wurden.

%Vor%

BEARBEITEN:

Okay, ich habe gerade ein Testskript geschrieben: schau es dir an:

%Vor%

Also, das div, das ich verändere, SOLLTE als aqua angezeigt werden, aber beim Laden der Seite ist es rot. b / c Das Ereignis click () wird auf das Dokument ausgelöst.

Also setze dein $ ('# ToggleMe'). click (); in Ihrem Dokument bereit Abschnitt nach dem Anhängen der Handler und es sollte wirklich funktionieren. Der Beweis ist genau hier!

    
Patricia 06.08.2010 14:23
quelle
1

Die Umschaltfunktion scheint keine Parameter zu verwenden:

Ссылка

versuche stattdessen $('#elementID').click();

zu verwenden     
Scott M. 06.08.2010 14:17
quelle
1

Dies ist ein verwirrender

Es gibt zwei Versionen von toggle.

Toggle1 - Ссылка

Toggle2 - Ссылка

Es scheint, dass Toggle1 aufgerufen wird, wenn Sie sich in einem Ereigniskontext befinden. Z.B. innerhalb einer Klickfunktion.

Wenn Sie toggle () außerhalb einer Event-Funktion ausführen, wird Toggle2 aufgerufen. Wenn Sie mit diesem umschalten möchten, müssen Sie wahr / falsch übergeben. True zu zeigen, falsch zu verstecken. Oder geben Sie einfach Dauer und Animationstypen ein usw. Überprüfen Sie einfach die API:)

    
quelle
0

Habe gerade eine Variation dieser Ideen ausprobiert :). Also ...

Es funktioniert nicht, wenn ich nur das letzte .toggle () zu einem .click () ändere ... aber es funktioniert, wenn ich diese Änderung mache, aber sie NACH dem Laden der Seite aufrufen. Ich denke, hier ist ein Zeitproblem.

d. wenn ich eine Schaltfläche hinzufüge:

und dann:

%Vor%

dann klicken Sie auf die Schaltfläche schaltet das div! Wenn ich nur die Zeile ersetzen

%Vor%

in meinem ursprünglichen Code oben mit einem .click () es funktioniert nicht! Seltsam. Irgendwelche Ideen? Kannst du diese Dinge "verzögern"? Ich rufe das in einem document.ready usw. an, also glaube ich nicht, dass das das Problem ist.

    
jqwha 06.08.2010 14:39
quelle

Tags und Links