Bir belgenin kaydırma konumu değeri nasıl alınır?
Yanıtlar:
$(document).height() //returns window height
$(document).scrollTop() //returns scroll position from top of document
scrollHeight
.
scrollHeight
JQuery seçici kullanılarak elde edilen bir öğenin nasıl elde edileceği aşağıda açıklanmıştır :
$(selector)[0].scrollHeight
Eğer selector
elemanın (örneğin kimliği olan elemId
), dizinin 0-endeksli öğe seçmek istediğiniz eleman olacak ve bu garanti scrollHeight
doğru olacaktır.
Jquery 1.6 veya üstünü kullanıyorsanız, değere erişmek için prop kullanın.
$(document).prop('scrollHeight')
Önceki sürümler değeri attr'den alıyordu ancak 1.6 yazıyordu.
document.getElementById("elementID").scrollHeight
$("elementID").scrollHeight
Bunun gibi bir şey sorununuzu çözmelidir:
$.getDocHeight = function(){
var D = document;
return Math.max(Math.max(D.body.scrollHeight, D.documentElement.scrollHeight), Math.max(D.body.offsetHeight, D.documentElement.offsetHeight), Math.max(D.body.clientHeight, D.documentElement.clientHeight));
};
alert( $.getDocHeight() );
Not: İhtiyaç duyduğunuz her an bu işlevi arayın, uyarı test amaçlıdır.
Pencere kaydırma çubuğu tarafından kaydırılan alanların gerçek kaydırılabilir yüksekliğini elde etmek için kullandım $('body').prop('scrollHeight')
. Bu, en basit çalışan çözüm gibi görünüyor, ancak uyumluluk için kapsamlı bir şekilde kontrol etmedim. Emanuele Del Grande, bunun muhtemelen 8'in altındaki IE için işe yaramayacağı başka bir çözüme dikkat çekiyor.
Diğer çözümlerin çoğu kaydırılabilir öğeler için iyi çalışıyor, ancak bu tüm pencere için çalışıyor. Bilhassa, Ankit'in çözümü için Michael ile aynı sorunu yaşadım, yani $(document).prop('scrollHeight')
geri dönüyor undefined
.
Bunu dene:
var scrollHeight = $(scrollable)[0] == document ? document.body.scrollHeight : $(scrollable)[0].scrollHeight;
Bunu deneyebilirsiniz, örneğin, bu kod kaydırma çubuğunu tüm DIV etiketleri için en alta yerleştirir
Unutmayın: jQuery, bağımsız değişken olarak değeri yerine bir işlevi kabul edebilir. "this", jQuery tarafından işlenen nesnedir, işlev geçerli DIV "this" öğesinin scrollHeight özelliğini döndürür ve bunu belgedeki tüm DIV için yapar.
$("div").scrollTop(function(){return this.scrollHeight})