หลังจากโหลดหน้าเสร็จแล้ว ฉันต้องการ jQuery เพื่อเลื่อนไปที่ด้านล่างของหน้าเคลื่อนไหวอย่างรวดเร็วไม่ใช่ snap / jolt
ฉันจำเป็นต้องมีโปรแกรมเสริมScrollTo
หรือไม่? หรือว่าสร้างขึ้นใน jQuery อย่างไร?
หลังจากโหลดหน้าเสร็จแล้ว ฉันต้องการ jQuery เพื่อเลื่อนไปที่ด้านล่างของหน้าเคลื่อนไหวอย่างรวดเร็วไม่ใช่ snap / jolt
ฉันจำเป็นต้องมีโปรแกรมเสริมScrollTo
หรือไม่? หรือว่าสร้างขึ้นใน jQuery อย่างไร?
คำตอบ:
คุณสามารถเคลื่อนไหวเพื่อเลื่อนหน้าลงโดยการเคลื่อนไหวscrollTop
คุณสมบัติโดยไม่ต้องใช้ปลั๊กอินเช่นนี้:
$(window).load(function() {
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
});
หมายเหตุการใช้งานwindow.onload
(เมื่อมีการโหลดภาพ ... ซึ่งครอบครองสูง) document.ready
มากกว่า
เพื่อให้ถูกต้องทางเทคนิคคุณต้องลบความสูงของหน้าต่าง แต่งานด้านบน:
$("html, body").animate({ scrollTop: $(document).height()-$(window).height() });
หากต้องการเลื่อนไปยัง ID ที่เฉพาะเจาะจงให้ใช้งาน.scrollTop()
เช่นนี้:
$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000);
$("html, body").animate({ scrollTop: $("#myID").offset().top }, 1000);
$(document).height()
มีค่ามากเกินไปสำหรับscrollTop
สถานที่ให้บริการคุณสามารถสังเกตเห็นว่าโดยการผ่อนคลาย ฉันคิดว่า$(document).height() - window.innerHeight
ควรจะโอเค
บางสิ่งเช่นนี้
var $target = $('html,body');
$target.animate({scrollTop: $target.height()}, 1000);
$('html,body').animate({ scrollTop: 9999 }, 'slow');
เรียบง่ายเช่นนี้ความสูงของหน้า 9999 ... ช่วงใหญ่จึงสามารถเข้าถึงด้านล่าง
คุณสามารถลองสิ่งนี้
var scroll=$('#scroll');
scroll.animate({scrollTop: scroll.prop("scrollHeight")});
$("div").scrollTop(1000);
ได้ผลสำหรับฉัน เลื่อนไปที่ด้านล่าง
สคริปต์ที่กล่าวถึงในคำตอบก่อนหน้าเช่น:
$("body, html").animate({
scrollTop: $(document).height()
}, 400)
จะไม่ทำงานในChromeและจะน่ากลัวในSafari ในกรณีที่ html
แท็กในCSSมีoverflow: auto;
ชุดคุณสมบัติ ฉันใช้เวลาคิดประมาณหนึ่งชั่วโมง
การใช้ 'document.body.clientHeight' คุณจะเห็นความสูงขององค์ประกอบร่างกาย
$('html, body').animate({
scrollTop: $("#particularDivision").offset().top - document.body.clientHeight + $("#particularDivision").height()
}, 1000);
เลื่อนนี้ที่ id 'specificDivision'
สำหรับ jQuery 3 โปรดเปลี่ยน
$ (หน้าต่าง) .load (ฟังก์ชั่น () {$ ("html, body"). animate ({scrollTop: $ (เอกสาร) .height ()}, 1000);})
ถึง:
$ (หน้าต่าง) .on ("โหลด", ฟังก์ชัน (e) {$ ("html, body"). เคลื่อนไหว ({scrollTop: $ (เอกสาร) .height ()}, 1000);})
function scrollToBottom() {
$("#mContainer").animate({ scrollTop: $("#mContainer")[0].scrollHeight }, 1000);
}
นี่เป็นวิธีแก้ปัญหาที่ได้ผลจากฉันและคุณจะพบฉันแน่ใจ
js
var el = document.getElementById("el");
el.scrollTop = el.scrollHeight - el.scrollTop;
$('#pagedwn').bind("click", function () {
$('html, body').animate({ scrollTop:3031 },"fast");
return false;
});
วิธีนี้ใช้ได้ผลสำหรับฉัน มันทำงานใน Page Scroll Down อย่างรวดเร็ว
var pixelFromTop = 500;
$('html, body').animate({ scrollTop: pixelFromTop }, 1);
ดังนั้นเมื่อเปิดหน้ามันจะเลื่อนลงโดยอัตโนมัติหลังจาก 1 เสี้ยววินาที