2009-06-02 7 views
14

Y a-t-il un événement dans JQuery, Javascript, ou le DOM en général auquel je peux m'abonner pour m'avertir lorsqu'un élément devient visible ou invisible (affichage: aucun)?JQuery/Javascript/DOM Evénement de visibilité

+0

duplication possible de l'événement de type [onHide() dans jQuery] (http://stackoverflow.com/questions/2857900/onhide-type-event-in-jquery) – Liam

Répondre

30

Il existe des événements pour DOMAttrModified et onpropertychange (IE) qui peuvent suivre les modifications d'éléments DOM et déclencher un événement.

A écrit à ce sujet avec un jQuery plug-in qui permet la surveillance des changements aux styles CSS ici:

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

Cela pourrait être juste ce dont vous avez besoin que vous pourriez faire quelque chose comme:

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

Cool plug-in. +1 –

+2

Utilisez cette fonction à l'intérieur pour voir si l'élément est visible ou non: $ (this) .is (': visible'); –

+0

Ne pas oublier 'opacity'. J'aime l'idée :) –