Próbuję dowiedzieć się, z DIV jest ukryty lub jeśli jest narażony.JQuery - Jeśli identyfikator DIV jest widoczny
To pseudokod:
if(DIV != VISIBLE) // not visible { show content }
Wszelkie JQuery Eksperci w stanie mi pomóc?
Dzięki Robert
Próbuję dowiedzieć się, z DIV jest ukryty lub jeśli jest narażony.JQuery - Jeśli identyfikator DIV jest widoczny
To pseudokod:
if(DIV != VISIBLE) // not visible { show content }
Wszelkie JQuery Eksperci w stanie mi pomóc?
Dzięki Robert
Poniższa wyświetli DIV nazwie myDiv
jeśli jest ukryty. Zauważ, że jeśli chcesz robić inne rzeczy, możesz także użyć each() zamiast pokazywać i robić inne operacje na $ (this) wewnątrz każdego.
$('div#myDiv:hidden').show();
To będzie test aby sprawdzić, czy wybrany żadnych ukrytych elementów z identyfikatorem "myDiv":
if ($("#mydiv:hidden").length > 0)
{
//
}
Edycja: selektor uproszczone. Musiał to sprawdzić:/
Jeśli próbujesz tylko pokazać div, która jest ukryta, to w rzeczywistości nie trzeba robić żadnych kontroli na wszystkich:
$('#myDiv').show();
Niezależnie od jego stan wcześniej, teraz będzie widoczny.
Jednakże, jeśli chcesz wykonać inne działania w zależności od tego, czy materiał jest widoczny, czy nie, to musisz sprawdzić:
if ($('#myDiv').is(":hidden"))
// or
if ($('#myDiv:hidden').length)
// or
if ($('#myDiv:not(:visible)')) { // you get the idea...
//perform your actions
}
Nie mogę zagwarantować świętości tego testu, ale właśnie rzuciłem te trzy funkcje do jsperf, aby zobaczyć, co się pojawiło. Wygląda na to, że .is: hidden is the best! http://jsperf.com/is-the-div-hidden –
Wszystkie inne odpowiedzi są w porządku, ale jest to po prostu przetłumaczyć Twój pseudokod do rzeczywistego kodu javascript:
if (!$('div').is(':visible')) {
$('div').show();
}
Jeśli szukasz tylko do ukrycia i pokazano element równie dobrze można po prostu użyć jQuery .toggle() metodę, która zrobi to za ciebie. Podobnie, metody .slideToggle() i .fadeToggle() będą ukrywać i wyświetlać element (y) za pomocą animacji poślizgu lub zanikania.
to trochę zbędne, prawda? – nickf
@nickf: Po prostu staram się zachować spójność z podanym przykładem. – tvanfosson