Rumah >hujung hadapan web >tutorial css >Bagaimanakah JavaScript Boleh Mengesan Limpahan Kandungan Elemen HTML, Walaupun dengan `overflow: visible`?

Bagaimanakah JavaScript Boleh Mengesan Limpahan Kandungan Elemen HTML, Walaupun dengan `overflow: visible`?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 21:27:40156semak imbas

How Can JavaScript Detect HTML Element Content Overflow, Even with `overflow: visible`?

Menyemak Limpahan Kandungan dalam Elemen HTML Menggunakan JavaScript

Apabila kandungan elemen HTML melebihi dimensi yang ditetapkan, ia boleh mengakibatkan limpahan. Walaupun limpahan kelihatan boleh disemak menggunakan semakan standard, menyemak limpahan dengan sifat "overflow: visible" boleh menimbulkan cabaran.

JavaScript Solution

Untuk mengambil kira perkara ini , fungsi JavaScript boleh digunakan:

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

   // If overflow is 'visible' or not set
   if (!curOverflow || curOverflow === "visible") {
      // Temporarily set overflow to 'hidden'
      el.style.overflow = "hidden";
   }

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

   // Restore original overflow style
   el.style.overflow = curOverflow;

   return isOverflowing;
}

Penggunaan:

Lepaskan elemen HTML yang dipersoalkan sebagai parameter kepada fungsi checkOverflow untuk menentukan sama ada kandungannya melimpah. Fungsi ini akan kembali benar jika terdapat limpahan, jika tidak ia akan kembali palsu.

Keserasian:

Penyelesaian ini telah diuji dalam Firefox 3 dan 40, Internet Explorer 6 , dan Chrome 0.2.149.30.

Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Mengesan Limpahan Kandungan Elemen HTML, Walaupun dengan `overflow: visible`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn