Web开发中的元素定位与HTML表单操作
1. 元素溢出与滚动位置
在Web开发中,当元素内容出现溢出时,会包含超出 clientWidth
和 clientHeight
的内容及返回值。 scrollLeft
和 scrollTop
可用于获取元素滚动条的位置,它们是可写属性,通过设置这些属性可以滚动元素内的内容。不过,HTML元素没有像 Window
对象那样的 scrollTo()
方法。
当文档包含具有溢出内容的可滚动元素时,原有的 getElementPosition()
方法可能无法正确工作,因为它没有考虑滚动条的位置。以下是一个改进版本的函数,它从累积偏移量中减去滚动条位置,将返回的位置从文档坐标转换为视口坐标:
function getElementPos(elt) {
var x = 0, y = 0;
// Loop to add up offsets
for(var e = elt; e != null; e = e.offsetParent) {
x += e.offsetLeft;
y += e.offsetTop;
}
// Loop again, through all ancestor elements to subtract scroll offsets.
// This subtracts