Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengesan Limpahan Kandungan HTML Tanpa Bar Skrol?

Bagaimanakah Saya Boleh Mengesan Limpahan Kandungan HTML Tanpa Bar Skrol?

Linda Hamilton
Lepaskan: 2024-11-23 06:45:29
asal
674 orang telah melayarinya

How Can I Detect HTML Content Overflow Without Scrollbars?

Mengesan Limpahan Kandungan dalam Elemen HTML Tanpa Bar Tatal

Ramai pembangun menghadapi cabaran untuk menentukan bila kandungan elemen HTML melangkaui sempadan yang boleh dilihat, terutamanya jika bar skrol tiada. Tugas ini menjadi lebih kompleks apabila sifat limpahan elemen ditetapkan kepada "kelihatan."

Penyelesaian

Penyelesaian terletak pada membandingkan dimensi klien elemen ([Ketinggian|Lebar ]) dengan dimensi tatalnya ([Ketinggian|Lebar]). Walau bagaimanapun, apabila limpahan kelihatan, nilai ini akan menjadi sama. Untuk mengambil kira perkara ini, kami boleh mengubah suai sementara gaya limpahan kepada "tersembunyi", semak keadaan limpahan, dan kemudian memulihkan nilai limpahan asal.

Pelaksanaan

The coretan kod di bawah menyediakan fungsi JavaScript, checkOverflow(), yang melaksanakannya pengesanan:

// Determine if the passed element is overflowing its bounds,
// either vertically or horizontally.
// Will temporarily modify the "overflow" style to detect this
// if necessary.
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;
}
Salin selepas log masuk

Penggunaan

Panggil fungsi checkOverflow() pada elemen sasaran untuk menentukan sama ada ia mempunyai kandungan yang melimpah. Fungsi ini mengembalikan nilai Boolean yang menunjukkan sama ada limpahan wujud atau tidak.

Pengujian

Rutin ini telah berjaya diuji dalam Firefox 3, Firefox 40.0.2, Internet Explorer 6 dan Chrome 0.2.149.30.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Limpahan Kandungan HTML Tanpa Bar Skrol?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan