scrollTop和scrollHeight「建议收藏」

scrollTop和scrollHeight「建议收藏」scollTopscrollTop可以被设置为任何整数值,同时注意:如果一个元素不能被滚动(例如,它没有溢出,或者这个元素有一个”non-scrollable”属性),scrollTop将被设置为0。设置scrollTop的值小于0,scrollTop被设为0如果设置了超出这个容器可滚动的值,scrollTop会被设为最大值.总结:元素发生溢出时可以设置scrollT…

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

scollTop

scrollTop 可以被设置为任何整数值,同时注意:

  • 如果一个元素不能被滚动(例如,它没有溢出,或者这个元素有一个”non-scrollable”属性), scrollTop将被设置为0。
  • 设置scrollTop的值小于0,scrollTop 被设为0
  • 如果设置了超出这个容器可滚动的值, scrollTop 会被设为最大值.

总结:元素发生溢出时可以设置scrollTop,设置的值为元素里内容向上滚动的不可见区域的高度

scollHeight

判定元素是否滚动到底

如果元素滚动到底,下面等式返回true,没有则返回false.

element.scrollHeight - element.scrollTop === element.clientHeight

总结:当元素无溢出时为元素本身的高度,当元素发生溢出时为元素内容里面的总高度

例子:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>scroll</title>
  <style type="text/css">
    #box{
        width: 200px;
        height: 200px;
        border: 1px solid green;
        position: absolute;
        top: 350px;
        left: 0;
    }
  </style>
</head>

<body>
  <div id="scrollBody" style="position:absolute;top:0;bottom:0;left:0;right:0;overflow:scroll;height:300px;border: 1px solid red;">
    <div style="font-size:20px;height:100px;border: 1px solid orange;">
        1
    </div>
    <div style="font-size:20px;height:100px;border: 1px solid orange;">
        2
    </div>
    <div style="font-size:20px;height:100px;border: 1px solid orange;">
        3
    </div>
    <div style="font-size:20px;height:100px;border: 1px solid orange;">
        4
    </div>
    <div style="font-size:20px;height:100px;border: 1px solid orange;">
        5
    </div>
  </div>
  <div id="box"></div>
  <div style="position:relative;top:350px;">
    <button onClick="scrollToTop()">按钮1</button>
    <button onClick="read()">按钮2</button>
  </div>
  <script>
    console.log(document.getElementById('scrollBody').scrollHeight); //510
      function scrollToTop(){
        //   这里边可以写一些逻辑,比如偶数行一个一个的置顶,不如状态等于0的一个一个的置顶!
          document.getElementById('scrollBody').scrollTop = 200;
          console.log(document.getElementById('scrollBody').scrollTop)  // 200
      }
      function read(){
        console.log(document.getElementById('box').scrollHeight); // 200
      }
  </script>
</body>

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

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

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


相关推荐

  • 随机梯度下降算法_梯度下降算法的正确步骤

    随机梯度下降算法_梯度下降算法的正确步骤主要内容:提供不同算法的原理以及效果直观展示,并希望读者能够在实际问题中更合理的选用梯度下降类算法。目录:1.简介梯度下降法2.随机梯度下降3.随机梯度下降的问题与挑战4.随机梯度下降的优化算法(主要内容)

    2025年10月23日
    3
  • 联合索引(多列索引)[通俗易懂]

    联合索引(多列索引)[通俗易懂]联合索引是指对表上的多个列进行索引,联合索引也是一棵B+树,不同的是联合索引的键值数量不是1,而是大于等于2.最左匹配原则假定上图联合索引的为(a,b)。联合索引也是一棵B+树,不同的是B+树在对索引a排序的基础上,对索引b排序。所以数据按照(1,1),(1,2)……顺序排放。对于selete*fromtablewherea=XXandb=XX,显然是可以使用…

    2022年6月3日
    77
  • Android从无知到有知——NO.7

    Android从无知到有知——NO.7

    2022年1月15日
    54
  • 2019年5月25更新——“运动世界校园”软件破解

    一、软件工作原理软件和后台使用API进行交互,在早期版本中API没有鉴权导致可以通过伪造请求来完成跑步,但是后期API迭代了好几个版本,目前认为现在的请求需要间隔一个合理的时间差(跑步时间),而且需要计算一个token用来鉴权,避免了伪造请求。 跑步开始和跑步完成时,会记录时间、设备序列号、IMEI等敏感信息,上传服务器。此操作用来记录手机设备唯一性,用来检测频繁换手机,一台设备上登陆不同账…

    2022年4月7日
    200
  • 【搜索引擎】强推!最好用资源最全的十个百度网盘搜索引擎

    【搜索引擎】强推!最好用资源最全的十个百度网盘搜索引擎1.去转盘网网址:https://www.quzhuanpan.com/点击进入网站说明:大部分资源免费,部分为VIP资源(不影响基本使用)2.盘多多网址:http://www.panduoduo.online/点击进入网站说明:搜索方便,可选择资源类型3.云盘精灵网址:https://www.yunpanjingling.com/点击进入网站说明:搜索资源后可按照最新时间显示资源4.大力盘搜索网址:https://www.dalipan.com/点击进入网站说明:页面设计简洁

    2022年5月23日
    94
  • 深度学习算法评价标准AP bbox bev 3d

    深度学习算法评价标准AP bbox bev 3d

    2020年11月8日
    524

发表回复

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

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