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

  • Cristina Landa

    Cristina Lan

    28 Ocak 2010
  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006