Jawaban:
Keduanya akan memiliki efek yang sama .
Namun, seperti yang ditunjukkan dalam komentar: $(window).scrollTop()didukung oleh lebih banyak browser web daripada $('html').scrollTop().
scrollToptidak 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 windowdan document. The windowobjek adalah tingkat atas objek sisi klien. Tidak ada yang di atas windowobjek. JavaScript adalah bahasa yang berorientasi objek. Anda mulai dengan objek dan menerapkan metode pada propertinya atau properti dari grup objeknya. Misalnya, documentobjek adalah objek windowobjek. Untuk mengubah document'warna latar belakang s, Anda akan mengatur document' s bgcolorproperti.
window.document.bgcolor = "red"
Untuk menjawab pertanyaan Anda, Tidak ada perbedaan dalam hasil akhir antara windowdandocument scrollTop . Keduanya akan memberikan output yang sama.
Dalam penggunaan umum documentterutama untuk mendaftar acara dan menggunakan windowuntuk 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