Mi stavo chiedendo come facesse google nella gmail (ma anche in altri progetti) a controllare se un elemento della pagina sia a vista oppure no...

Intendo dire, loro riescono a far comparire dei messaggi (quindi cambiare la proprietà css visibility di un div contenente un messaggio) in base ad una condizione, cioè se un elemento è visualizzato oppure no. Per visualizzato intendo che se l'elemento div di cui parlo è in fondo alla pagina, e la pagina è molto lunga, loro riescono a vedere se con la posizione dello scroll attuale quell'elemento è visualizzato oppure no...come cavolo fanno??

Ho provato a ridimensionare la finestra, e il sistema tiene conto delle nuove dimensioni della finestra. E' una cosa semplicissima ma difficile da spiegare, non so se avete capito cosa intendo.