Ich lade Elemente über AJAX. Einige von ihnen sind nur sichtbar, wenn Sie die Seite nach unten scrollen. Gibt es eine Möglichkeit, wie ich wissen kann, ob ein Element jetzt im sichtbaren Teil der Seite ist?
In dieser Ära der Single Page Applications ist es üblich geworden, zu prüfen, ob ein Element innerhalb eines anderen Elements sichtbar ist, außer Fenster . Deshalb bekomme ich für diesen Artikel eine positive Bewertung.
0 Stimmen
Ich verstehe das Problem nicht wirklich. Könnten Sie versuchen, mehr Informationen hinzuzufügen?
61 Stimmen
Bedeutet, dass er eine Methode haben möchte, um zu wissen, ob ein bestimmtes Element im Browserfenster angezeigt wird oder ob der Benutzer scrollen muss, um es zu sehen.
1 Stimmen
Um zu prüfen, ob ein Element in einem Container vollständig sichtbar ist, fügen Sie einfach einen zusätzlichen Selektor-Parameter hinzu und verwenden Sie den Code von elem dafür wieder.
Library.IsElementVisibleInContainer = function (elementSelector, containerSelector) { var containerViewTop = $(containerSelector).offset().top; var containerViewBottom = containerViewTop + $(containerSelector).height();
0 Stimmen
Was ist diese "Bibliothek", @Lindsay?
4 Stimmen
Mögliche Duplikate von Wie kann man feststellen, ob ein DOM-Element im aktuellen Viewport sichtbar ist?
0 Stimmen
Die Bibliothek ist nur eine Funktion, die ich erstellt habe. Z.B..
function Library() { }
. Ich schreibe mein Javascript auf diese Weise, weil ich es einfacher zu lesen / pflegen gegenüber nur mit einer Funktion (z. B. IsElementVisibleInContainer) und haben keine Ahnung, woher es kam.0 Stimmen
Schnittpunkt Beobachter wird die Antwort sein... aber noch nicht ganz, es sei denn, Sie verwenden ein Polyfill für Safari und IE. Observer ist eine neue Version von Event. Dies wird einen Rückruf auslösen, wenn nn% des Elements sichtbar ist. Siehe developer.mozilla.org/de-US/docs/Web/API/
1 Stimmen
Mögliches Duplikat von Wie kann man feststellen, ob ein DOM-Element im aktuellen Ansichtsfenster sichtbar ist?
4 Stimmen
Alle Antworten lösen Reflow aus, es könnte also ein Flaschenhals sein. IntersectionObserver falls unterstützt. Auf modernen Browsern wird die Leistung besser sein,
0 Stimmen
Eine fertige, nicht-perfekte Lösung ist hier: github.com/proxy-m/real-visibility
0 Stimmen
Verwenden Sie die Schnittpunkt-Beobachter-API, um zu erkennen, ob sich ein Element im Ansichtsfenster befindet, Details hier - frontendguruji.com/blog/