Heim > Web-Frontend > js-Tutorial > Wie kann ich feststellen, ob ein Element nach dem Scrollen sichtbar ist?

Wie kann ich feststellen, ob ein Element nach dem Scrollen sichtbar ist?

Susan Sarandon
Freigeben: 2024-12-19 03:19:09
Original
987 Leute haben es durchsucht

How Can I Determine if an Element is Visible After Scrolling?

Sichtbarkeit von Elementen nach dem Scrollen sicherstellen

Identifizieren von durch Scrollen ausgeblendeten Elementen

Beim dynamischen Laden von Inhalten über AJAX bleiben einige Elemente möglicherweise verborgen, sofern kein Scrollen durchgeführt wird . Die Bestimmung ihrer Sichtbarkeit innerhalb des aktuell sichtbaren Teils der Seite ist von entscheidender Bedeutung.

Lösung

Um zu überprüfen, ob ein Element nach dem Scrollen ganz oder teilweise sichtbar ist, verwenden Sie die folgende Funktion:

function isScrolledIntoView(elem) {
  var docViewTop = $(window).scrollTop();
  var docViewBottom = docViewTop + $(window).height();

  var elemTop = $(elem).offset().top;
  var elemBottom = elemTop + $(elem).height();

  return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
Nach dem Login kopieren

Erweiterte Utility-Funktion

Führen Sie eine Utility-Funktion ein, die sowohl vollständige als auch teilweise Sichtbarkeit unterstützt prüft:

function Utils() {}

Utils.prototype = {
  constructor: Utils,
  isElementInView: function (element, fullyInView) {
    var pageTop = $(window).scrollTop();
    var pageBottom = pageTop + $(window).height();
    var elementTop = $(element).offset().top;
    var elementBottom = elementTop + $(element).height();

    if (fullyInView === true) {
      return ((pageTop < elementTop) && (pageBottom > elementBottom));
    } else {
      return ((elementTop <= pageBottom) && (elementBottom >= pageTop));
    }
  }
};
Nach dem Login kopieren

Erweiterte Nutzung

Erweitern Sie den Code mit dieser Dienstprogrammfunktion:

var Utils = new Utils();

var isElementInView = Utils.isElementInView($('#flyout-left-container'), false);

if (isElementInView) {
  console.log('in view');
} else {
  console.log('out of view');
}
Nach dem Login kopieren

Durch die Implementierung dieser Funktionen können Sie die Sichtbarkeit von Elementen nach dem Scrollen effektiv erkennen und entsprechend reagieren.

Das obige ist der detaillierte Inhalt vonWie kann ich feststellen, ob ein Element nach dem Scrollen sichtbar ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage