Beim Benutzen slideToggle, wie ändere ich den Text Schließen/Anzeigen? Ich habe eine einfache gemacht, kann aber die Textänderung nicht zurückbekommen.
Du kannst den … benutzen is() Assertion-Methode, um zu prüfen, ob das Panel im Callback der Animation geöffnet oder geschlossen ist, und den Text entsprechend festzulegen – http://jsfiddle.net/9EFNK/7/
$('.open').click(function(){
var link = $(this);
$('.showpanel').slideToggle('slow', function() {
if ($(this).is(':visible')) {
link.text('close');
} else {
link.text('open');
}
});
});
Nette Verwendung einer Rückruffunktion, um die Sichtbarkeit zu überprüfen, nachdem die Animation beendet ist, und den Text entsprechend zu ändern. Dies ist die beste Antwort hier 🙂
– Markus Walters
18. Oktober 2012 um 7:43 Uhr
Fügen Sie einfach eine einfache if-Anweisung hinzu, um den Text so zu testen
Überprüfen Sie, ob die Benutzerfrage gelöst ist Geige
+1 für $(this).html(‘Show’):$(this).html(‘close’); Das wusste ich nicht
– Dipak
18. Oktober 2012 um 7:45 Uhr
Das heißt, wenn der aktuelle HTML-Text von div geschlossen ist, ändert er sich in „Anzeigen“ und wenn er angezeigt wird, ändert er sich in „Schließen“. ‘?’ ist ein ternärer Operator
Sie können eine Klasse einfach beim Schließen/Öffnen umschalten, eine Prüfung für diese Klasse durchführen und den enthaltenen Text entsprechend ändern
+1 für $(this).html(‘Show’):$(this).html(‘close’); Das wusste ich nicht
– Dipak
18. Oktober 2012 um 7:45 Uhr
Das heißt, wenn der aktuelle HTML-Text von div geschlossen ist, ändert er sich in „Anzeigen“ und wenn er angezeigt wird, ändert er sich in „Schließen“. ‘?’ ist ein ternärer Operator