ฉันต้องการคว้าความสูงของหน้าต่างและการเลื่อนออฟเซ็ตใน jQuery แต่ฉันไม่มีโชคในการค้นหาสิ่งนี้ใน jQuery docs หรือ Google
ฉันแน่ใจว่า 90% มีวิธีการเข้าถึงความสูงและ scrollTop สำหรับองค์ประกอบ (สมมุติรวมถึงหน้าต่าง) แต่ฉันไม่พบการอ้างอิงที่เฉพาะเจาะจง
ฉันต้องการคว้าความสูงของหน้าต่างและการเลื่อนออฟเซ็ตใน jQuery แต่ฉันไม่มีโชคในการค้นหาสิ่งนี้ใน jQuery docs หรือ Google
ฉันแน่ใจว่า 90% มีวิธีการเข้าถึงความสูงและ scrollTop สำหรับองค์ประกอบ (สมมุติรวมถึงหน้าต่าง) แต่ฉันไม่พบการอ้างอิงที่เฉพาะเจาะจง
คำตอบ:
จาก jQuery Docs:
const height = $(window).height();
const scrollTop = $(window).scrollTop();
http://api.jquery.com/scrollTop/
http://api.jquery.com/height/
จากhttp://api.jquery.com/height/ (หมายเหตุ: ความแตกต่างระหว่างการใช้งานหน้าต่างและวัตถุเอกสาร)
$(window).height(); // returns height of browser viewport
$(document).height(); // returns height of HTML document
จากhttp://api.jquery.com/scrollTop/
$(window).scrollTop() // return the number of pixels scrolled vertically
เพียว JS
window.innerHeight
window.scrollY
เร็วกว่า jquery มากกว่า 10 เท่า (และรหัสมีขนาดใกล้เคียงกัน):
ที่นี่คุณสามารถทำการทดสอบบนเครื่องของคุณ: https://jsperf.com/window-height-width
window.scrollY
รับส่วนสูงเลื่อน
$(window).height()
$(window).width()
นอกจากนี้ยังมีปลั๊กอินสำหรับ jquery เพื่อกำหนดตำแหน่งขององค์ประกอบและออฟเซ็ต
http://plugins.jquery.com/project/dimensions
scrolling offset = offsetHeight คุณสมบัติขององค์ประกอบ
หากคุณต้องการเลื่อนไปยังจุดขององค์ประกอบ คุณสามารถใช้ฟังก์ชั่น Jquery เพื่อเลื่อนขึ้น / ลง
$('html, body').animate({
scrollTop: $("#div1").offset().top
}, 'slow');