Jawaban:
Keduanya akan memiliki efek yang sama .
Namun, seperti yang ditunjukkan dalam komentar: $(window).scrollTop()
didukung oleh lebih banyak browser web daripada $('html').scrollTop()
.
scrollTop
tidak menggulir ke mana pun, tetapi hanya mengembalikan lokasi gulir saat ini.
scrollTop()
adalah pengambil dan scrollTop(value)
penyetel. scrollTop()
tanpa argumen tidak mengubah posisi gulir.
Pertama, Anda perlu memahami perbedaan antara window
dan document
. The window
objek adalah tingkat atas objek sisi klien. Tidak ada yang di atas window
objek. JavaScript adalah bahasa yang berorientasi objek. Anda mulai dengan objek dan menerapkan metode pada propertinya atau properti dari grup objeknya. Misalnya, document
objek adalah objek window
objek. Untuk mengubah document
'warna latar belakang s, Anda akan mengatur document
' s bgcolor
properti.
window.document.bgcolor = "red"
Untuk menjawab pertanyaan Anda, Tidak ada perbedaan dalam hasil akhir antara window
dandocument
scrollTop
. Keduanya akan memberikan output yang sama.
Dalam penggunaan umum document
terutama untuk mendaftar acara dan menggunakan window
untuk melakukan hal-hal seperti scroll
, scrollTop
, dan resize
.
Cara browser lintas melakukan ini adalah
var top = ($(window).scrollTop() || $("body").scrollTop());
$("body").scrollTop()
selalu kembalikan 0 di Google Chrome.
$("body").scrollTop()
sudah usang, tidak berfungsi di Chrome atau FF lagi . Ini akan mengembalikan 0
Saya baru saja mengalami beberapa masalah serupa scrollTop
dijelaskan di sini.
Pada akhirnya saya menyiasati Firefox dan IE dengan menggunakan pemilih$('*').scrollTop(0);
Tidak sempurna jika Anda memiliki elemen yang tidak ingin Anda efek tetapi ada di sekitar perbedaan Dokumen, Tubuh, HTML, dan Jendela. Jika itu membantu ...
$("html,body").scrollTop(val)
- tidak pernah mengalami masalah