Ich möchte wissen, ob ein Knoten sichtbar und auf dem Bildschirm gerendert ist. Soweit ich weiß, gibt es mindestens 3 Standard-und einfache Möglichkeiten, HTML-Knoten nicht sichtbar zu machen:
opacity: 0
; display: none
; visibility: hidden
. Ich könnte nach diesen drei suchen, aber ich fürchte, dass Leute kreativ werden können, wenn es darum geht, Inhalte zu verstecken:
Ich habe mich also gefragt, ob es eine Standardmethode gibt, um zu bestimmen, ob ein Knoten auf dem Bildschirm gerendert wird. Ich bin mir ziemlich sicher, dass alle großen Browser es für sich selbst bestimmen, um das Zeichnen zu beschleunigen, also ist es vielleicht irgendwie sichtbar.
Wenn dies Ihre Seite ist, können Sie die meiste Kontrolle haben und es wird eine Frage der Anwendung der von Ihnen implementierten Standards. Wenn dies eine forign Seite ist (z. B. wenn Sie ein Bookmarklet schreiben), ist die Anzahl der Variablen extrem groß.
Sichtbarkeit bedeutet für Personen und Browser unterschiedliche Dinge. Der Browser muss den Kontext und das Layout der Seite kennen und wissen, ob ein Objekt Platz beansprucht, was auch in den Fällen opacity:0
und visibility:hidden
der Fall ist, weshalb jQuery so funktioniert.
Also müsstest du dir das jeweilige Element ansehen, einschließlich seiner Ränder, Padding, Überlaufattribute, Sichtbarkeit, Anzeige, alle Opazitätseinstellungen, überprüfe auch auf color:rgba(*,*,*,0)
, denke ich. Dann müssen Sie jedes übergeordnete Objekt bis zum Dokument zurückverfolgen.
Tags und Links javascript html css