Saya mencoba untuk mengatur posisi gulir pada halaman sehingga penggulung digulir sampai ke atas.
Saya rasa saya membutuhkan sesuatu seperti ini tetapi tidak berfungsi:
(function () { alert('hello'); document.body.scrollTop = 0; } ());
Ada ide?
Saya mencoba untuk mengatur posisi gulir pada halaman sehingga penggulung digulir sampai ke atas.
Saya rasa saya membutuhkan sesuatu seperti ini tetapi tidak berfungsi:
(function () { alert('hello'); document.body.scrollTop = 0; } ());
Ada ide?
Jawaban:
Anda bisa menggunakan window.scrollTo(), seperti ini:
window.scrollTo(0, 0); // values are x,y-offset
Perhatikan bahwa jika Anda ingin menggulir elemen alih-alih jendela penuh, elemen tidak memiliki metode scrollTodan scrollBy. Anda harus:
var el = document.getElementById("myel"); // Or whatever method to get the element
// To set the scroll
el.scrollTop = 0;
el.scrollLeft = 0;
// To increment the scroll
el.scrollTop += 100;
el.scrollLeft += 100;
Anda juga dapat meniru fungsi window.scrollTodan window.scrollByke semua elemen HTML yang ada di halaman web pada browser yang tidak mendukungnya secara asli :
Object.defineProperty(HTMLElement.prototype, "scrollTo", {
value: function(x, y) {
el.scrollTop = y;
el.scrollLeft = x;
},
enumerable: false
});
Object.defineProperty(HTMLElement.prototype, "scrollBy", {
value: function(x, y) {
el.scrollTop += y;
el.scrollLeft += x;
},
enumerable: false
});
sehingga Anda dapat melakukan:
var el = document.getElementById("myel"); // Or whatever method to get the element, again
// To set the scroll
el.scrollTo(0, 0);
// To increment the scroll
el.scrollBy(100, 100);
CATATAN: Object.definePropertydianjurkan, karena menambahkan properti secara langsung ke dalam prototypeadalah menghentikan kebiasaan buruk (Jika Anda melihatnya :-).
... Atau cukup ganti bodydengan documentElement:
document.documentElement.scrollTop = 0;