Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Mengesan Limpahan Elemen HTML Menggunakan JavaScript?

Bagaimanakah Saya Boleh Mengesan Limpahan Elemen HTML Menggunakan JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-12-26 22:55:15790semak imbas

How Can I Detect HTML Element Overflow Using JavaScript?

Memeriksa Status Limpahan Elemen

Apabila bekerja dengan elemen HTML, menentukan sama ada kandungannya melangkaui sempadan yang ditetapkan selalunya penting. Ini membolehkan pembangun melaksanakan fungsi seperti memaparkan penunjuk limpahan dan melaraskan reka letak dengan sewajarnya.

Satu pendekatan untuk mencapai ini ialah dengan menggunakan fungsi isOverflown(), yang menilai status limpahan elemen DOM. Ia menilai kedua-dua keadaan limpahan menegak dan mendatar, mengembalikan nilai boolean:

function isOverflown(element) {
  return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
}

Fungsi ini boleh digunakan dalam pelbagai senario. Sebagai contoh, dalam kes penggunaan yang dinyatakan, anda boleh menggunakannya untuk membezakan sama ada elemen dengan had ketinggian 300px mempunyai kandungan yang melebihi ketinggian tersebut. Jika limpahan dikesan, anda kemudian boleh memaparkan butang "lebih"; jika tidak, sembunyikannya.

Untuk menunjukkan utiliti isOverflown(), pertimbangkan coretan JavaScript berikut:

var elements = document.getElementsByClassName('demos');
for (var i = 0; i < elements.length; i++) {
  var element = elements[i];
  element.style.borderColor = (isOverflown(element) ? 'red' : 'green');
  console.log("Element #" + i + " is " + (isOverflown(element) ? '' : 'not ') + "overflown.");
}

CSS untuk demonstrasi ini:

.demos {
  white-space: nowrap;
  overflow: hidden;
  width: 120px;
  border: 3px solid black;
}

HTML :

<div class='demos'>This is some text inside the div which we are testing</div>
<div class='demos'>This is text.</div>

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Limpahan Elemen HTML Menggunakan JavaScript?. 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