Setelah halaman saya selesai memuat. Saya ingin jQUery gulir dengan baik ke bagian bawah halaman, menjiwai dengan cepat, bukan snap / sentakan.
Apakah saya memerlukan plugin seperti ScrollTo
itu? atau apakah itu dibangun ke jQuery bagaimana?
Setelah halaman saya selesai memuat. Saya ingin jQUery gulir dengan baik ke bagian bawah halaman, menjiwai dengan cepat, bukan snap / sentakan.
Apakah saya memerlukan plugin seperti ScrollTo
itu? atau apakah itu dibangun ke jQuery bagaimana?
Jawaban:
Anda hanya dapat menghidupkan untuk menggulir ke bawah halaman dengan menghidupkan scrollTop
properti, tidak diperlukan plugin, seperti ini:
$(window).load(function() {
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
});
Perhatikan penggunaan window.onload
(saat gambar dimuat ... yang menempati ketinggian) daripada document.ready
.
Agar benar secara teknis, Anda perlu mengurangi ketinggian jendela, tetapi yang di atas berfungsi:
$("html, body").animate({ scrollTop: $(document).height()-$(window).height() });
Untuk menggulir ke ID tertentu, gunakan .scrollTop()
, seperti ini:
$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000);
$("html, body").animate({ scrollTop: $("#myID").offset().top }, 1000);
$(document).height()
terlalu besar nilainya untuk scrollTop
properti, Anda bisa melihat bahwa dengan pelonggaran. Saya pikir $(document).height() - window.innerHeight
harus baik-baik saja.
sesuatu seperti ini:
var $target = $('html,body');
$target.animate({scrollTop: $target.height()}, 1000);
$('html,body').animate({ scrollTop: 9999 }, 'slow');
Sesederhana ini, tinggi halaman 9999 ... rentang besar sehingga bisa mencapai ke bawah.
Skrip yang disebutkan dalam jawaban sebelumnya, seperti:
$("body, html").animate({
scrollTop: $(document).height()
}, 400)
tidak akan berfungsi di Chrome dan akan gelisah di Safari jika html
tag di CSS memiliki overflow: auto;
properti yang disetel. Butuh hampir satu jam untuk mencari tahu.
Dengan menggunakan 'document.body.clientHeight' Anda bisa mendapatkan ketinggian elemen tubuh yang terlihat
$('html, body').animate({
scrollTop: $("#particularDivision").offset().top - document.body.clientHeight + $("#particularDivision").height()
}, 1000);
ini muncul di id 'specificDivision'
Untuk jQuery 3, Silakan ubah
$ (window) .load (function () {$ ("html, body"). animate ({scrollTop: $ (document) .height ()}, 1000);})
untuk:
$ (window) .on ("load", function (e) {$ ("html, body"). animate ({scrollTop: $ (document) .height ()}, 1000);})
function scrollToBottom() {
$("#mContainer").animate({ scrollTop: $("#mContainer")[0].scrollHeight }, 1000);
}
Ini adalah solusi yang bekerja dari saya dan Anda tahu, saya yakin
js
var el = document.getElementById("el");
el.scrollTop = el.scrollHeight - el.scrollTop;
$('#pagedwn').bind("click", function () {
$('html, body').animate({ scrollTop:3031 },"fast");
return false;
});
Solusi ini bekerja untuk saya. Ini bekerja di Halaman Gulir ke Bawah dengan cepat.