2009-06-02 27 views
14

C'è un evento in JQuery, Javascript o il DOM in generale che posso sottoscrivere che mi notificherà quando un elemento diventa visibile o invisibile (display: nessuno)?Evento Visibilità JQuery/Javascript/DOM

+0

possibile duplicato dell'evento di tipo [onHide() in jQuery] (http://stackoverflow.com/questions/2857900/onhide-type-event-in-jquery) – Liam

risposta

30

Ci sono eventi per DOMAttrModified e onpropertychange (IE) che possono tenere traccia delle modifiche agli elementi DOM e generare un evento.

scritto su questo con un jQuery plug-in che consente il monitoraggio dei cambiamenti agli stili CSS qui:

http://www.west-wind.com/weblog/posts/478985.aspx

questo potrebbe essere proprio quello che serve, come si potrebbe fare qualcosa di simile:

$("#myControl").watch("display,visibility", function() { showStatus("changed...") }); 
+0

Cool plug-in. +1 –

+2

Utilizzare questa funzione interna anonima per vedere se l'elemento è visibile o meno: $ (this) .is (': visible'); –

+0

Non dimenticare "opacità". Mi piace l'idea :) –