• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

visibility abfrage immer true

musclebreast

Mitglied
Hallo,

ich habe ein einfaches DIV

Code:
<div id="LocationDropDownMenu" class="menu" style="left: 60px; visibility: visible;"> </div>

meine Abfrage nach der sichtbarkeit ergibt immer true

Code:
if ($('#LocationDropDownMenu:visible')) {

im Firebug sehe ich auch, dass das Element den Status hidden besitzt.

Zusätzlich habe ich mir dies ausgeben lassen:

Code:
alert($('#LocationDropDownMenu').css('display'));
alert($('#LocationDropDownMenu').css('visibility'));

die ausgabe ist block und hidden.

Was übersehe ich an dieser stelle? Warum ist die Abfrage immer true?

LG,

Lara
 
visibility: hidden; ist keines falls das gleiche wie display: none;.

visibility: hidden; hat praktisch den gleichen effeckt wie opacity: 0; und sorgt somit nur dafür, dass das element nicht mehr sichtbar ist. Es verbraucht aber immer noch ganz normal wie ein sichtbares element platz auf der Homepage. Somit muss das Design der homepage im browser nicht neu berechnet werden, wenn du die visibility eigenschaft auf visible setzt.

display: none; hingegen entfernt die komplette sichtbare existenz des elements aus deiner seite und sorgt somit dafür das nachstehende und evtl auch vorhergehende elemente und deren position auf deiner Seite neu berechnet werden muss.

Meistens benutze ich display: none; da ich es meistens nur in einzelfällen mache und meine homepage nicht die ganze zeit dazu zwinge alles neu anzuordnen. Der einzige sinnvolle einsatzzweck von visibility: hidden; der mir einfällt sind unsichtbare input felder um coole features zu basteln. Allerdings kanns auch sein das es mitlerweile garnicht mehr geht. Wird glaube ich als sicherheitsrisiko eingestuft oder irgendetwas derartiges.
 
Das traue ich dir auch durchaus zu. :) Anderen aber nicht :P
 
Zurück
Oben