Yanıtlar:
İkisi de aynı etkiye sahip olacaklar .
Açıklamalarda belirttiği Ancak,: $(window).scrollTop()
daha fazla web tarayıcıları tarafından desteklenmektedir daha $('html').scrollTop()
.
scrollTop
hiçbir yere kaydırma yapılmaz, yalnızca geçerli kaydırma konumu döndürülür.
scrollTop()
bir alıcı ve scrollTop(value)
ayarlayıcıdır. scrollTop()
bağımsız değişkenler olmadan kaydırma konumunu değiştirmez.
İlk olarak window
ve arasındaki farkı anlamalısınız document
. window
Nesne bir üst düzey istemci tarafı amacıdır. window
Nesnenin üstünde hiçbir şey yok . JavaScript nesne yönelimli bir dildir. Bir nesneyle başlar ve kendi özelliklerine veya nesne gruplarının özelliklerine yöntemler uygularsınız. Örneğin, document
nesne nesnenin bir window
nesnesidir. Değiştirmek için document
bireyin arka plan rengini, ayarladığınız ediyorum document
s ' bgcolor
özelliğini.
window.document.bgcolor = "red"
Sorunuzu cevaplamak için, window
ve arasındaki sonuçta hiçbir fark yoktur document
scrollTop
. Her ikisi de aynı çıktıyı verecektir.
Genel kullanımda document
ağırlıklı olayları kaydetmek ve kullanımı window
gibi şeyleri yapmak için scroll
, scrollTop
ve resize
.
Bunu yapmanın çapraz tarayıcı yolu
var top = ($(window).scrollTop() || $("body").scrollTop());
$("body").scrollTop()
Google Chrome'da her zaman 0 değerini döndürün.
$("body").scrollTop()
kullanımdan kaldırıldı, Chrome veya FF'de artık çalışmıyor . Geri dönecek 0
scrollTop
Burada açıklanan bazı benzer problemler yaşadım .
Sonunda selektörü kullanarak Firefox ve IE'de bu sorunu çözdüm$('*').scrollTop(0);
Etkilemek istemediğiniz öğeleriniz varsa mükemmel değil, ancak Belge, Gövde, HTML ve Pencere eşitsizliğinden kaynaklanıyor. Eğer yardımcı olursa ...
$("html,body").scrollTop(val)
- hiç sorun yaşamadım