Interfaccia utente jQuery: una funzione di scambio che nasconde e rivela gli elementi tramite il selettore

StackOverflow https://stackoverflow.com/questions/401056

  •  03-07-2019
  •  | 
  •  

Domanda

Prefazione: ho un'interfaccia utente jQuery e jQuery inclusa in una pagina.

Ho questa funzione definita:

    function swap(sel) {
        if (1 == 1) {
           $(sel).hide('drop',{direction:'left'});
        }
    }

Come posso correggere la parte (1 == 1) per verificare se l'elemento è già nascosto e quindi riportarlo indietro se lo è. Sono sicuro che sia facile, ma sono nuovo su jQuery.

È stato utile?

Soluzione

se non ti piace toggle , questo potrebbe aiutarti:

function swap(sel) {
  if($(sel).is(':visible')) {
    $(sel).hide('drop',{direction:'left'});
  } else {
    $(sel).show('drop',{direction:'left'});
  }
}

Altri suggerimenti

Perché non usi toggle () ?

?

Ad esempio:

function swap(sel) {
  $(sel).toggle();
} 

Forse $ (sel) .toggle (); è quello che stai cercando? Questo è il modo migliore per attivare la visibilità di un elemento.

Come hanno detto gli altri risponditori, toggle () è la soluzione migliore. Tuttavia, se per qualche motivo non è possibile / non si desidera utilizzare l'interruttore, e se il selettore è per un solo elemento:

function swap(sel) {
    if ($(sel).is(':visible')) {  // Is this element visible?
       $(sel).hide('drop',{direction:'left'});
    }
}

Avvertenza: il: controllo visibile restituirà un falso positivo se l'elemento o uno dei suoi genitori sono : nascosto . Se questo è importante per te, potresti dare un'occhiata a questa soluzione che tenta di verificare anche quello.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top