Heim >Web-Frontend >js-Tutorial >Wie kann ich überprüfen, ob ein Element nach dem Scrollen der Seite mit JavaScript sichtbar ist?

Wie kann ich überprüfen, ob ein Element nach dem Scrollen der Seite mit JavaScript sichtbar ist?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-28 01:11:10538Durchsuche

How Can I Verify If an Element Is Visible After Page Scrolling with JavaScript?

Elementsichtbarkeit nach dem Scrollen überprüfen

Beim dynamischen Laden von Elementen über AJAX kann es schwierig sein, ihre Sichtbarkeit sicherzustellen, insbesondere wenn sie erst danach sichtbar werden Scrollen der Seite. In diesem Artikel werden Methoden untersucht, um festzustellen, ob sich ein Element nach dem Scrollen im sichtbaren Teil der Seite befindet.

Lösung: JavaScript-Sichtbarkeitsprüfung

Um die Sichtbarkeit eines Elements zu überprüfen, JavaScript-Code eingesetzt werden kann. Hier ist eine Funktion, die dies erreicht:

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));
}

Diese Funktion nimmt ein Element als Eingabe und gibt einen Booleschen Wert zurück, der angibt, ob es sichtbar ist.

Erweiterte Hilfsfunktion

Für einen vielseitigeren Ansatz betrachten Sie die folgende Dienstprogrammfunktion:

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));
        }
    }
};

Diese Funktion akzeptiert zwei Parameter: an Element und ein optionales Flag, das angibt, ob das Element vollständig oder teilweise sichtbar sein soll.

Verwendung

Um die Funktion zu verwenden, erstellen Sie einfach eine Instanz der Utils-Klasse und rufen Sie sie auf die isElementInView-Methode mit dem gewünschten Element und optionalem Flag:

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

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

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

Stellungnahme:
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