javascript 元素对象拥有scroll家族主要属性:
ScrollTop: (被滚动条卷去的头部高度)
ScrollLeft: (被滚动条卷曲的左侧距离)
ScrollWidth (内容实际宽度:width+padding+超出盒子的宽度)
ScorllHeight (内容实际高度:height+padding+超出盒子的高度)
Scroll可通过元素对象的属性ScrollTop和ScrollLeft找到它。
但整个浏览器的滚动条即document的滚动条元素归属存在兼容性问题。
IE678以及其他浏览器认为整个文档对象属于document.documentElement元素的即html。
未声明DTD <!DOCTYPE html> 的浏览器认为文档对象属于document.body元素的。
所以只要找正确元素即可实现浏览器兼容。if(document.CompatMode==CSS1Compat)表示支持document.documentElement元素,else 表示支持document.body元素。
最新浏览器IE9+及其他浏览器都认为整个文档属于Window对象的,可通过Window.pageXOffset和Window.pageYOffset获得,也可以通过Window.scrollTo(x,y)将浏览器滚动条滑动到指定x,y
封装 scroll函数
1 function scroll(element, vals) { 2 if (element == null) { 3 return; 4 } 5 if (vals == null) { 6 7 return { 8 left: element.scrollLeft, 9 top: element.scrollTop 10 } 11 12 } else { 13 element.scrollTop = vals.top; 14 element.scrollLeft = vals.left; 15 } 16 }