Scrivo molto simile al seguente codice. Fondamentalmente commuta un elemento in base ad alcune condizioni.Esiste qualcosa come jQuery.toggle (booleano)?
Nell'esempio seguente, la condizione è "Se la casella di controllo agree
è selezionata e il campo name
non è vuoto".
$("button").click(function() {
if ($("#agree").is(":checked") && $("#name").val() != "") {
$("#mydiv").show();
} else {
$("#mydiv").hide();
}
});
Vorrei che esistesse una sorta di funzione jQuery che avrebbe funzionato in questo modo.
$("button").click(function() {
var condition = $("#agree").is(":checked") && $("#name").val() != "");
$("#mydiv").toggle(condition);
});
C'è qualcosa di simile là fuori? O ci sono altri modi oltre al primo esempio per farlo in un modo meno if-else-ish
?
Sei a conoscenza di una versione di questa funzione che supporta l'attenuazione/dissolvenza/scorrimento per la transizione? Questo particolare metodo non sembra, e rende la mia pagina abbastanza veloce in un modo che è più confuso per gli utenti rispetto a una diapositiva gentile. –
Sì è stato aggiunto in jQuery versione 1.4.3. Guarda la pagina della documentazione (http://api.jquery.com/toggle/#toggle2) vedrai che ci sono tre modi per chiamare toggle() che vuoi usare come segue: .toggle ([duration], [ easing], [callback]) – jessegavin
AFAIK non è possibile passare un valore booleano E una durata/attenuazione, ecc. Mi piacerebbe comunque essere corretto. – Galaxy