SORU
27 EYLÜL 2008, CUMARTESİ


Bir HTML öğesi belirlemek'un içerik taşıyor

Eğer bir HTML öğesi içeriği taştı olup olmadığını kontrol edin (kaydırma çubukları ne olursa olsun) için JavaScript kullanabilir miyim? Örneğin, küçük, sabit boyutlu ile uzun bir div, taşma özelliği öğesi görünür ve kaydırma çubukları ayarlayın.

CEVAP
27 EYLÜL 2008, CUMARTESİ


Normalde, bu tespit etmek için scroll[Height|Width] client[Height|Width] karşılaştırabilirsiniz... ama değerleri taşma görünür olduğunda aynı olacaktır. Bu yüzden, algılama rutin bunun için hesap gerekir:

// Determines 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;
}

FF3, FF40 test.0.2, IE6, Chrome 0.2.149.30.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • New Scientist

    New Scientis

    27 Kasım 2006
  • TVNorge

    TVNorge

    5 EKİM 2006