lima-city: Webhosting, Domains und Cloud
2 Pluspunkte 0 Minuspunkte
Wie kann ich mit Javascript prüfen ob ein bestimmtes HTML Element im sichtbaren Bereich der Seite ist oder nicht?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Du kannst die Position des Elements (left, top, right, bottom, x, y, width, height) mit der Funktion getBoundingClientRect ermitteln und mit der Position des sichtbaren Bereichs des Browsers vergleichen.

var el = document.getElementById("myElement");
var rect = el.getBoundingClientRect();

if( rect.top >= 0 
    && rect.left >= 0
    && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) 
    && rect.right <= (window.innerWidth || document.documentElement.clientWidth) ) {

    concole.log("Element ist im sichtbaren Bereich");

}

von (717 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst die Intersection Observer API nutzen.

<div style="height: 1000px;"></div> <!-- Platzhalter, um die Seite zu verlängern -->
<div id="meinElement" style="width: 100px; height: 100px; background-color: red;"></div> 

<script>
    function handleIntersection(entries, observer) {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                console.log('Das Element ist im sichtbaren Bereich.');
            } else {
                console.log('Das Element ist nicht mehr im sichtbaren Bereich.');
            }
        });
    }

    var observer = new IntersectionObserver(handleIntersection);
    var target = document.getElementById('meinElement');
    observer.observe(target);
</script>
von (397 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

13 Nutzer