Le Intersection Observer API sono nuove specifiche HTML5 che permettono di eseguire un callback quando un determinato oggetto nella pagina diventa visibile. Grazie a queste nuove API diventa molto più semplice implementare funzionalità come l'infinite scrolling, in quanto possiamo eseguire il caricamento di nuovi elementi appena la fine della griglia diventa visibile. Possiamo anche caricare le immagini di una pagina solamente nel momento in cu l'immagine viene entra effettivamente nel viewport del browser.
La classe JavaScript che fornisce l'accesso alle API è IntersectionObserver. Al costruttore della classe passiamo in input il callback da invocare e un oggetto che contiene le seguenti proprietà:
- root: specifica l'oggetto in base al quale calcolare la visibilità. Se non definito l'oggetto è il viewport di default;
- rootMargin: margine CSS del viewport;
- threshold: valore di visibilità dell'oggetto prima che il callback venga scatenato; il valore va da 0 (default) a 1.
Una volta istanziato l'oggetto IntersectionObserver, dobbiamo invocare il metodo observe passando in input l'oggetto alla visibilità del quale viene scatenato il callback. Il callback accetta in input un oggetto che contiene la lista di oggetti per cui scatenare il callback stesso e l'observer. Possiamo poi ciclare gli oggetti ede seguire il codice per ognuno di essi.
var options = {
root: null,
rootMargin: '0px',
threshold: 1.0
}
var callback = function(entries, observer) {
entries.forEach(entry => {
console.log(entry);
});
};
var observer = new IntersectionObserver(callback, options);
var target = document.querySelector('#obj');
observer.observe(target);Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Integrare LLM alle nostre applicazioni in .NET con MCP
Selettore CSS :has() e i suoi casi d'uso avanzati
Integrare OpenAI tramite Aspire
Effettuare un clone parziale di un repository di GitHub
Utilizzare l nesting nativo dei CSS
Implementare il throttle in JavaScript
Configurare e gestire sidecar container in Azure App Service
Le cron expression di un workflow di GitHub
Integrare Agenti A2A in Azure API Management
Introduzione ai web component HTML
Importare repository da Bitbucket a GitHub Enterprise Cloud
Ridurre il reflow cambiando il CSS
I più letti di oggi
- Inserire le news di Punto Informatico nel proprio sito
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Le DirectInk API nella Universal Windows Platform
- Sfruttare una CDN con i bundle di ASP.NET
- Gli oggetti CallOut di Expression Blend 4.0


