JQuery UI - uma função de troca que esconde e unte elementos por seletor
-
03-07-2019 - |
Pergunta
Prefácio: eu tenho o jQuery e a interface do usuário do jQuery incluídos em uma página.
Eu tenho essa função definida:
function swap(sel) {
if (1 == 1) {
$(sel).hide('drop',{direction:'left'});
}
}
Como consertar a parte (1 == 1) para testar para ver se o elemento já está oculto e depois trazê -lo de volta, se for. Tenho certeza de que isso é fácil, mas sou novo no JQuery.
Solução
Se você não gosta toggle
, então isso pode ajudá -lo:
function swap(sel) {
if($(sel).is(':visible')) {
$(sel).hide('drop',{direction:'left'});
} else {
$(sel).show('drop',{direction:'left'});
}
}
Outras dicas
Talvez $(sel).toggle();
é o que você está procurando? Essa é a melhor maneira de alternar a visibilidade de um elemento.
Como os outros resposta disseram, toggle()
é a melhor solução. No entanto, se, por algum motivo, você não pode/não quiser usar alternar, e se o seu seletor for apenas para um elemento:
function swap(sel) {
if ($(sel).is(':visible')) { // Is this element visible?
$(sel).hide('drop',{direction:'left'});
}
}
Embargo: O: verificação visível retornará um falso positivo se o elemento ou qualquer um de seus pais for :hidden
. Se isso for importante para você, você pode querer Confira esta solução que tenta verificar se isso também.