Possiamo controllare periodicamente con jQuery la visibilità di un elemento.
La soluzione è la seguente:
$( "#box" ).on( "visibility", function() {
var $element = $( this );
var timer = setInterval( function() {
if( $element.is( ":hidden" ) ) {
// L'elemento è nascosto
} else {
// L'elemento è visibile
}
}, 300 );
}).trigger( "visibility" );