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

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • Videojug

    Videojug

    25 EKİM 2006