2009-04-19 79 views
20

bir elemanın taşan genişliği almak için Nasıl bu kadarbir web sayfası

<div id="parent" style="width:100px:overflow:hidden;"> 
    <div id="child"> 
     tooooooooooooooooooooo much content to fit in parent 
    </div> 
</div> 

Dinamik çocuğun içeriği güncellenmesi ve jQuery kullanarak kaydırma gibiyim iki renklendirilmiş. Çocuğun ne kadar geniş olduğunu bulmayı çok istiyorum. Sorun, taşan içerik mevcut olduğunda çocuğun gerçek genişliğinin, ekrandan bile daha geniş olmasıdır (mevcut test içeriğiyle yaklaşık 2500 piksel görünmektedir). Öğenin sınırı, kümesinin içeriğin gerçek genişliğine uzanmıyorsa, metin görünür kenarın ötesine taşar.

kullanarak jQuerys $('#child').width, clientWidth, scrollWidth (sayesinde bobince) ve offsetWidth özellikleri (Monitörümün genişliği) 1024 piksel tüm dışarı max. Öğelerin içeriğinin taşmayı da içerdiğini bulmak için herhangi bir yol biliyor mu? Eğer yardımcı olursa, yapıyorum app kiosk tipi bir ortamda çalışır, bu yüzden sadece bir Firefox (hatta bir gece versiyonu) çözümü iyidir.

Güncelleme: scrollWidth Ebeveyn işleri üzerine daha dikkatli olmalı, tekrar bobince teşekkür etmeliydim.

cevap

25
document.getElementById('parent').scrollWidth 

scrollWidth tarihsel olarak daha az iyi offsetWidth daha desteklendi bir IE uzantısıdır. Ancak bugünlerde tüm modern masaüstü tarayıcıları içerir. JQuery kullanarak

+0

Ben scrollWith yanı 1024 piksel en tükenmek üzere olduğunu korkuyorum. Öneri için teşekkürler. –

+0

FF3'te benim için çalışıyor - çalışmayan eksiksiz bir kod örneği gönderin. "Çocuk" kaydırma genişliğini incelediğinizde, "çocuk" değil, ve çok geniş olan içeriğin doğal olarak 1024'te sarılmayacağını (veya durdurmak için "beyaz boşluk: no-wrap" özelliğini kullanacağınızı) unutmayın. Son olarak sözdizimini kontrol edin - örneğinizde kurallar arasında noktalı virgül yerine iki nokta üst üste işareti var. Ebeveyn – bobince

+0

aha, özledim, o işe yarıyor! Çok teşekkür ederim. –

4

, yapabileceğiniz:

$('#parent')[0].scrollWidth 
+0

jQuery öğesi dizisinden sıfırıncı öğenin dışarı çekilmesi, yukarıdaki yanıtla aynı olan DOM düğümünü döndürür ('document.getElementById ('parent'). ScrollWidth'). Yarar, "scrollWidth" in jQuery olmadan düzgün bir şekilde yapılabilmesidir. – Hans

İlgili konular