scrollHeight、scrollTop等的比较[通俗易懂]

scrollHeight、scrollTop等的比较[通俗易懂]自接触js以来一直使用的是jquery插件,对js的了解甚少,经常容易混淆element.scrollHeight、element.scrollTop等方法。今天对这些方法做出比较。scrollTop:可以设置或者获取元素的已滚动的上部不可见区域的高度。<!DOCTYPEhtml><html><head><title&gt…

大家好,又见面了,我是你们的朋友全栈君。

自接触js以来一直使用的是jquery插件,对js的了解甚少,经常容易混淆element.scrollHeight、element.scrollTop等方法。今天对这些方法做出比较。

scrollTop:可以设置或者获取元素的已滚动的上部不可见区域的高度。

<!DOCTYPE html>
<html>
<head>
    <title>测试scrollHeight等的区别</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <style type="text/css">
        body{
    
    
            padding: 0px;
            margin: 0px;
        }
        #test{
    
    
            width: 200px;
            height: 200px;
            border: 1px solid #cccccc;
            overflow-y: auto;
            margin: 300px auto;
        }
        #test p{
    
    
            height: 20px;
            margin: 0px;

        }
    </style>
</head>
<body>
    <div id="test"><div><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p></div></div>
</body>
</html>

上面,有一个id为test的div,里面嵌套一个div和多个p标签。

var element = document.getElementById("test");
    var p = element.getElementsByTagName("p");
    var pL = p.length;
    for(var i=1; i<=pL; i++){
        p[i-1].className = "p" + i;
    }
    element.scrollTop = 300;
    console.log("element's scrollTop = " + element.scrollTop);

scrollHeight、scrollTop等的比较[通俗易懂]第七行代码设置了scrollTop,第八行输出了scrollTop,输出值为: element’s scrollTop = 300。蓝色部分为test里层的div所占的区域。

scrollHeight:获取元素的滚动高度。当元素内容高度超出元素高度时,scrollHeight=内容高度+自身高度。

offsetHeight:获取元素的实际高度。element.offsetHeight = element.clientHeight + border-top + border-bottom。

offsetTop:获取元素相对于离自己最近的设置定位的祖先元素的高度,如果没有,则获取相对于页面的高度。

clientHeight:获取元素的可见高度。element.clientHeight = element.height + element.padding-top + element.padding-bottom。

 

补充:

1:获取元素的不包括padding和border的宽高度,使用js获取css样式的方法获取。

2:获取元素下面可滚动的高度值: element.scrollHeight – element.clientHeight – element.scrollTop;

 

希望看到这篇文章的同学,多多指出里面的理解不当的地方。有更好的方法,可以与我分享。

 

转载于:https://www.cnblogs.com/yanyalun/p/4184343.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163762.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java实现cs架构_cs模型人物看不见

    java实现cs架构_cs模型人物看不见Java网络编程案例–CS模型的简单实现Java网络编程案例CS模型的简单实现基本概述程序原理图源代码基本概述该程序采用C/S模型,在服务器端简单的建立了一个多线程类,来实现对多个客户端传入的数据进行处理。在客户端行处理类,对数据进行一次解析,再调用各个发送类进行处理。采用固定的命令格式,字符编码格式以及字节流,实现了消息发送,二进制文件和文本文件传送,下载文件的功能。程序原理图源代码:J

    2025年12月6日
    2
  • 关联关系和依赖关系的区别[建议收藏]

    关联关系:A类实例化的时候需要B类的对象引用或指针作为参数依赖关系:A类的某个方法使用B类,可能是方法的参数是B类或在方法中获得了一个B类的实例某个类以成员变量的形式出现在另一个类中,二者是关联关

    2021年12月18日
    51
  • Android启动模式之singleTask解析「建议收藏」

    Android启动模式之singleTask解析「建议收藏」在android应用程序中,最重要的组件之一Activity有4中启动模式,其中singleTask更加官方文档的描述很容易让人迷惑,其实原因在于,activity的启动方式除了受标签android:launchMode的影响之外,还会被启动参数所左右比如,intent的标志位FLAG_ACTIVITY_NEW_TASK,任务标签 android:taskAffinity。本文将对singleTa

    2022年6月26日
    159
  • 小企鹅输入法

    小企鹅输入法

    2021年7月30日
    81
  • android跨平台开发_手机游戏跨平台开发

    android跨平台开发_手机游戏跨平台开发安卓跨平台开发实践

    2022年4月21日
    39
  • linux的netperf测试,linux下Netperf使用详解

    linux的netperf测试,linux下Netperf使用详解转载自:http://blog.sina.com.cn/s/blog_6b1ccd6501013119.html首先下载http://www.netperf.org/netperf/DownloadNetperf.html安装:tarzxf…&&cdxxx./configure–prefix=/tools/netperf-2.4.1&&make&am…

    2025年5月28日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号