JS——scroll

Posted 站错队了同志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS——scroll相关的知识,希望对你有一定的参考价值。

scrollWidth:父div宽度小于子div宽度,父div scrollWidth宽度为子div的宽度,大于则为本身的宽度width+padding

scrollHeight:父div高度小于子div高度,父div scrollHeight高度为子div高度,大于则为本身的高度height+padding

注意事项:IE67,scrollHeight即使不超出盒子,它的值也是内容的高度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div style="width: 100px;height: 100px;border: 1px solid #000;">
    <div style="width: 120px;height: 400px;border: 1px solid #ccc;"></div>
</div>
<script>
    var divEle=document.getElementsByTagName("div")[0];
    console.log(divEle.scrollWidth);//122
    console.log(divEle.scrollHeight);//402
</script>
</body>
</html>

scrollLeft:被浏览器卷去的左边内容的长度

scrollTop:被浏览器卷曲的头部内容的长度

注意事项:一般通过window.onscroll监听,它们的使用有严重的兼容性问题:

1、未声明DTD(谷歌只认识这样的形式,IE9+也认识):document.body.scrollTop

2、已经声明DTD(IE678只认识这样的形式,IE9+任何时候都认识):document.documentElement.scrollLeft

3、不管是是否声明DTD(火狐谷歌IE9+认识):window.pageYOffset

区别:谷歌判断依据是以body为主,而ie判断依据是整个html

判断是否声明:DTD:document.compatMode==="BackCompat"         BackCompat:未声明       CSS1Compat:已声明

<script>
    window.onscroll=function () {
        var xLeft=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft;
        var yTop=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop;
        document.title=xLeft+"  "+yTop;
    }
</script>

 

以上是关于JS——scroll的主要内容,如果未能解决你的问题,请参考以下文章

简单实现个vue的下拉加载

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

jQuery 平滑滚动片段以不同的速度工作

js代码片段: utils/lcoalStorage/cookie