2011-08-31 7 views
5

Tittle gerçekten her şeyi söylüyor.jQuery - Öğe yüksekliğinin pencere yüksekliğinden daha büyük olup olmadığını algıla ve bu konuda bir şeyler yap

Temelde i

Bunu yapmış ama o iş alışkanlık Neden http://jsfiddle.net/dhkCa/3 işe uyuyamıyrom .. bu div 'ın heightwindowheight daha büyük olması algılamak ve bu konuda bir şeyler yapmak ister misin?

Düzenleme: CSS kodunda küçük bir hata düzeltildi. Jsfiddle bağlantısı güncellendi.

+0

2 değeri uyarırsanız, belge yüksekliğinin div yüksekliğinden 20px daha büyük olduğunu görürsünüz [örneğin burada] (http://jsfiddle.net/dhkCa/8/) –

cevap

17

document 'un tüm öğeleri kendi içinde ve tüm bu öğelerin yüksekliklerinin toplamı (tüm display:block öğeleri, artı kenar boşluğu ve dolgu); Bu nedenle, içerilen hiçbir unsur belgenin kendisinden daha uzun olamaz.

var div = $("div").height(); 
var win = $(window).height(); 

if (div > win) { 
    $("div").addClass('red'); 
} 

JS Fiddle demo: Ne yapmak gerekir window 'ın yüksekliğini değil, belge en karşılaştırmak olduğunu.

+0

Doğru .. Ayrıca açık bir şekilde jquery api'dir. Bir kez daha okuduğum şeyi anlayamadım. Teşekkürler (+1) ve yapabileceğim zaman kabul edecek. – Joonas

+0

Oldukça hoş geldiniz; Yardım ettiğim için mutluyum! = D –

0

Belgenin kaydırma yüksekliğinden farklı bir kaydırma yüksekliğine sahip bir öğe için element.getBoundingClientRect().height(Docs)'u kullanabilirsiniz.

İlgili konular