ความแตกต่างระหว่าง:
$(window).scrollTop()
และ
$(document).scrollTop()
ขอบคุณ
ความแตกต่างระหว่าง:
$(window).scrollTop()
และ
$(document).scrollTop()
ขอบคุณ
คำตอบ:
พวกเขาทั้งสองจะมีผลเหมือนกันผลเช่นเดียวกัน
อย่างไรก็ตามในขณะที่ชี้ให้เห็นในความคิดเห็น: $(window).scrollTop()
ได้รับการสนับสนุนโดยเว็บเบราว์เซอร์อื่น ๆ อีกมากมาย$('html').scrollTop()
กว่า
scrollTop
ไม่เลื่อนที่ใดก็ได้ แต่เพียงส่งกลับตำแหน่งเลื่อนปัจจุบัน
scrollTop()
เป็น getter และscrollTop(value)
เป็น setter scrollTop()
ไม่มีข้อโต้แย้งไม่เปลี่ยนตำแหน่งการเลื่อน
ครั้งแรกที่คุณต้องเข้าใจความแตกต่างระหว่างและwindow
วัตถุเป็นระดับบนสุดของวัตถุฝั่งไคลเอ็นต์ ไม่มีอะไรอยู่เหนือวัตถุ JavaScript เป็นภาษาที่มุ่งเน้นวัตถุ คุณเริ่มต้นด้วยวัตถุและใช้วิธีการกับคุณสมบัติหรือคุณสมบัติของกลุ่มวัตถุ ตัวอย่างเช่นวัตถุนั้นเป็นวัตถุของวัตถุ เมื่อต้องการเปลี่ยน'สีพื้นหลังของคุณต้องการตั้งของสถานที่ให้บริการdocument
window
window
document
window
document
document
bgcolor
window.document.bgcolor = "red"
เพื่อที่จะตอบคำถามของคุณมีความแตกต่างในผลสุดท้ายระหว่างไม่เป็นและwindow
document
scrollTop
ทั้งสองจะให้ผลลัพธ์เดียวกัน
ในการใช้งานทั่วไปdocument
ส่วนใหญ่จะลงทะเบียนเหตุการณ์และใช้window
ในการทำสิ่งที่ชอบscroll
, และscrollTop
resize
วิธีเบราว์เซอร์ข้ามในการทำเช่นนี้คือ
var top = ($(window).scrollTop() || $("body").scrollTop());
$("body").scrollTop()
ส่งคืน 0 เสมอใน Google Chrome
$("body").scrollTop()
จะเลิกไม่ทำงานบน Chrome หรือ FF อีกต่อไป มันจะคืนค่า 0
ฉันเพิ่งมีปัญหาที่คล้ายกันกับ scrollTop
อธิบายไว้ที่นี่
ในที่สุดฉันได้รับรอบนี้ในFirefoxและIEโดยใช้ตัวเลือก$('*').scrollTop(0);
ไม่สมบูรณ์หากคุณมีองค์ประกอบที่คุณไม่ต้องการให้มีผลกระทบ แต่จะทำให้เกิดความไม่เสมอภาคในเอกสาร, เนื้อหา, HTML และหน้าต่าง ถ้ามันช่วย ...
$("html,body").scrollTop(val)
- ไม่เคยมีปัญหาใด ๆ