Heim > Web-Frontend > js-Tutorial > Wie kann ich die Elementsichtbarkeit im DOM nur mithilfe von JavaScript bestimmen?

Wie kann ich die Elementsichtbarkeit im DOM nur mithilfe von JavaScript bestimmen?

Barbara Streisand
Freigeben: 2024-11-27 22:27:12
Original
860 Leute haben es durchsucht

How Can I Determine Element Visibility in the DOM Using Only JavaScript?

Bestimmen der Elementsichtbarkeit im DOM mit reinem JavaScript

Frage:

Können wir bestimmen? ob ein Element im DOM sichtbar ist, ohne auf jQuery angewiesen zu sein? Welche Attribute sollten wir insbesondere überprüfen, um seine Sichtbarkeit sicherzustellen?

Antwort:

Laut MDN-Dokumentation gibt die offsetParent-Eigenschaft eines Elements null zurück, wenn es oder einer seiner Vorgänger vorhanden ist werden über die Anzeigestil-Eigenschaft ausgeblendet. Dies setzt jedoch voraus, dass das Element nicht fest positioniert ist. Wenn auf der Seite keine Position: Fixed-Elemente vorhanden sind, könnte ein prägnantes Skript zur Überprüfung der Sichtbarkeit lauten:

function isHidden(el) {
    return (el.offsetParent === null);
}
Nach dem Login kopieren

Wenn es auf der Seite jedoch Position: Fixed-Elemente gibt, müssen wir leider auf Fenster zurückgreifen .getComputedStyle() für eine gründliche Prüfung, die Auswirkungen auf die Leistung haben kann:

function isHidden(el) {
    var style = window.getComputedStyle(el);
    return (style.display === 'none');
}
Nach dem Login kopieren

Trotz ihrer Anfälligkeit für Randfälle bietet die zweite Option mehr Klarheit. Wenn der Vorgang wiederholt ausgeführt werden soll, ziehen Sie aus Effizienzgründen die erste Option in Betracht und vermeiden Sie die Leistungseinbußen von window.getComputedStyle().

Das obige ist der detaillierte Inhalt vonWie kann ich die Elementsichtbarkeit im DOM nur mithilfe von JavaScript bestimmen?. 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