BOM——scroll系列

scrollWidth:元素中内容的实际的宽(不包括边框),如果元素中内容很少或没有内容就是元素的宽。

scrollHeight:元素中内容的实际的高(不包括边框),如果元素中内容很少或没有内容就是元素的高。

scrollTop:向上卷曲出去的距离

scrollLeft:向左卷曲出去的距离

各浏览器下 scrollTop的差异

IE6/7/8: 
 对于没有doctype声明的页面里可以使用  document.body.scrollTop 来获取 scrollTop高度 ; 
 对于有doctype声明的页面则可以使用 document.documentElement.scrollTop; 
Safari: 
 safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ; 
Firefox: 
火狐等等相对标准些的浏览器就省心多了,直接用 document.documentElement.scrollTop ;

因此,为了兼容所有浏览器,封装一个函数,去获取页面向上卷曲出去的距离和向左卷曲出去的距离

//获得页面向左、向上卷动的距离
function getScroll(){
    return {
        left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
        top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
    };
}

onscroll 事件在元素滚动条滚动时触发。
HTML 中:
<element onscroll="myScript">
JavaScript 中:
object.onscroll=function(){myScript};
JavaScript 中, 使用 addEventListener() 方法:
object.addEventListener("scroll", myScript);
注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。

提示: 使用 CSS overflow 样式属性来创建元素的滚动条。

visible:对溢出内容不做处理,内容可能会超出容器。

hidden:隐藏溢出容器的内容且不出现滚动条。

scroll:隐藏溢出容器的内容,溢出的内容将以卷动滚动条的方式呈现。

auto:当内容没有溢出容器时不出现滚动条,当内容溢出容器时出现滚动条,按需出现滚动条。此为body对象和textarea的默认值。

猜你喜欢

转载自blog.csdn.net/sleepwalker_1992/article/details/80833928
今日推荐