Sau khi tải trang của tôi. Tôi muốn jQUery cuộn độc đáo xuống cuối trang, hoạt hình nhanh chóng, không phải là một snap / jolt.
Tôi có cần một plugin như thế ScrollTo
không? hoặc được xây dựng trong jQuery một số cách?
Sau khi tải trang của tôi. Tôi muốn jQUery cuộn độc đáo xuống cuối trang, hoạt hình nhanh chóng, không phải là một snap / jolt.
Tôi có cần một plugin như thế ScrollTo
không? hoặc được xây dựng trong jQuery một số cách?
Câu trả lời:
Bạn chỉ có thể làm động để cuộn trang xuống bằng cách tạo hiệu ứng thuộc scrollTop
tính, không yêu cầu plugin, như thế này:
$(window).load(function() {
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
});
Lưu ý việc sử dụng window.onload
(khi hình ảnh được tải ... chiếm chiều cao) chứ không phải document.ready
.
Để chính xác về mặt kỹ thuật, bạn cần trừ chiều cao của cửa sổ, nhưng các công việc trên:
$("html, body").animate({ scrollTop: $(document).height()-$(window).height() });
Để cuộn đến một ID cụ thể, sử dụng nó .scrollTop()
, như thế này:
$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000);
$("html, body").animate({ scrollTop: $("#myID").offset().top }, 1000);
$(document).height()
là quá lớn của một giá trị cho scrollTop
tài sản, bạn có thể nhận thấy rằng bằng cách nới lỏng. Tôi nghĩ $(document).height() - window.innerHeight
nên ổn thôi.
đại loại như thế này:
var $target = $('html,body');
$target.animate({scrollTop: $target.height()}, 1000);
$('html,body').animate({ scrollTop: 9999 }, 'slow');
Đơn giản như thế này, chiều cao trang 9999 ... phạm vi lớn để nó có thể chạm tới đáy.
Các kịch bản được đề cập trong các câu trả lời trước, như:
$("body, html").animate({
scrollTop: $(document).height()
}, 400)
sẽ không hoạt động trong Chrome và sẽ tăng vọt trong Safari trong trường hợp html
thẻ trong CSS có overflow: auto;
bộ thuộc tính. Tôi mất gần một giờ để tìm ra.
Đối với jQuery 3, vui lòng thay đổi
$ (window) .load (function () {$ ("html, body"). animate ({scrollTop: $ (document) .height ()}, 1000);})
đến:
$ (window) .on ("load", function (e) {$ ("html, body"). animate ({scrollTop: $ (document) .height ()}, 1000);})
function scrollToBottom() {
$("#mContainer").animate({ scrollTop: $("#mContainer")[0].scrollHeight }, 1000);
}
Đây là giải pháp hoạt động từ tôi và bạn thấy, tôi chắc chắn
js
var el = document.getElementById("el");
el.scrollTop = el.scrollHeight - el.scrollTop;
$('#pagedwn').bind("click", function () {
$('html, body').animate({ scrollTop:3031 },"fast");
return false;
});
Giải pháp này đã làm việc cho tôi. Nó đang hoạt động trong Page Scroll Down nhanh chóng.