SORU
17 Temmuz 2009, Cuma


Nasıl JavaScript ile tüm belge yükseklik almak için?

Bazı belgeleri belge (bir şey kesinlikle çok alt pozisyon) yüksekliği alamıyorum. Ayrıca, bir alt doldurma bu sayfalarda bir şey yapmak gibi görünüyor, ama yükseklik dönecektir nerede sayfalarda. (S) örnek:

http://fandango.com
http://paperbackswap.com

Fandango
bir WordPress kullanmak $(document).height(); doğru değerini döndürür
2* *0 değerini döndürür
3* *0 değerini döndürür

Üzerine Ciltsiz Takas:
$(document).height(); jQuery eğer data: $(document) null
document.height yanlış bir değer döndürür
document.body.scrollHeight yanlış bir değer döndürür

Not: Eğer numara varsa orada tarayıcı düzeyi izinleri var.

CEVAP
18 Temmuz 2009, CUMARTESİ


Belge boyutu, tüm tarayıcılar clientHeight ve scrollHeight özellikleri açığa rağmen, bu değerlerin nasıl hesaplandığını kabul etmiyorlar çünkü tarayıcı uyumluluğu tam bir kabus oldu.

Bir karmaşık en iyi uygulama için formül çapında doğru yükseklik/genişlik test ne için kullanılır. Bu belge ile ilgili.mevcut veya yeniden belge özellikleri düşen ve bu özellikleri documentElement.

Doğru yüksekliği elde etmek için en kolay yolu tüm yükseklik değerleri belge üzerinde bulunan, ya da documentElement ve yüksek bir kullanmaktır. Bu bir WordPress kullanmak ne temelde

var body = document.body,
    html = document.documentElement;

var height = Math.max( body.scrollHeight, body.offsetHeight, 
                       html.clientHeight, html.scrollHeight, html.offsetHeight );

jQuery bookmarklet Firebug döner ile hızlı bir test de atıf sayfaları, ve çok doğru yükseklik kod örneği yok.

Belge hazır olmadan önce belge yüksekliğini test hep 0 neden olur. Size veya kullanıcı pencereyi yeniden boyutlandırır daha fazla şeyler yük de yeniden test etmek gerekebilir. onload document ready bir olay eğer yük zaman bu gerekir, aksi takdirde sadece numarasını ihtiyacınız olduğunda test.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009
  • karneson

    karneson

    23 Temmuz 2006
  • o0oCyrusViruso0o

    o0oCyrusViru

    11 Mart 2008