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
Criptare la comunicazione con mTLS in Azure Container Apps
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Creare una libreria CSS universale: Cards
Generare un hash con SHA-3 in .NET
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Utilizzare Model as a Service su Microsoft Azure
Eseguire operazioni sui blob con Azure Storage Actions
Installare le Web App site extension tramite una pipeline di Azure DevOps
Eseguire le GitHub Actions offline
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Limitare le richieste lato server con l'interactive routing di Blazor 8
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Eseguire script pre e post esecuzione di un workflow di GitHub
- Creare una libreria CSS universale: Cards
- Migliorare l'organizzazione delle risorse con Azure Policy