Heim > Web-Frontend > js-Tutorial > Wie kann JavaScript einen Überlauf von HTML-Elementinhalten erkennen, wenn „Überlauf: sichtbar' ist?

Wie kann JavaScript einen Überlauf von HTML-Elementinhalten erkennen, wenn „Überlauf: sichtbar' ist?

Patricia Arquette
Freigeben: 2024-11-26 09:20:10
Original
416 Leute haben es durchsucht

How Can JavaScript Detect HTML Element Content Overflow When `overflow: visible`?

So erkennen Sie einen Elementinhaltsüberlauf in HTML mit JavaScript

Sie sind auf ein HTML-Element gestoßen, das trotz seiner Überlaufeigenschaft überlaufenden Inhalt aufweist auf „sichtbar“ eingestellt und es fehlen Bildlaufleisten. Gibt es eine Möglichkeit, mithilfe von JavaScript festzustellen, ob dieser Überlauf vorliegt?

Behebung des Problems

Normalerweise vergleicht man clientHeight und scrollHeight (oder clientWidth und scrollWidth) des Elements. Überlauf zu erkennen. Allerdings stellt ein Überlauf mit der Einstellung „sichtbar“ eine Herausforderung dar.

Lösung: Überlaufeigenschaft vorübergehend ändern

Um dies zu berücksichtigen, ist eine Erkennungsroutine erforderlich. Die folgende Funktion ändert den „Überlauf“-Stil vorübergehend in „versteckt“ und prüft auf Überlauf:

function checkOverflow(el) {
   var curOverflow = el.style.overflow;

   if ( !curOverflow || curOverflow === "visible" ) {
      el.style.overflow = "hidden";
   }

   var isOverflowing = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight;

   el.style.overflow = curOverflow;

   return isOverflowing;
}
Nach dem Login kopieren

Unterstützte Browser

Diese Funktion wurde auf Firefox 3 getestet , Firefox 40.0.2, Internet Explorer 6 und Chrome 0.2.149.30.

Das obige ist der detaillierte Inhalt vonWie kann JavaScript einen Überlauf von HTML-Elementinhalten erkennen, wenn „Überlauf: 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