scrollTop详测

简介: scrollTop详测

scrollTop详测



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


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>scrollHeight详测</title>
  <style>
    #box{
      width:500px;
      height: 200px;
      overflow: auto;
      border: 1px solid #ccc;
    }
    #box .inner {
      height: 300px;
      background-color: pink;
    }
  </style>
</head>
<body>
  <!-- 框200px,内容区 300px -->
  <div id="box">
    <div class="inner">300px</div>
  </div>
   <script>
    /*
    1. 如果一个元素不能被滚动(例如,它没有溢出,或者这个元素有一个"non-scrollable"属性), scrollTop将被设置为0。
    2. 设置scrollTop的值小于0,scrollTop 被设为0
    3. 如果设置了超出这个容器可滚动的值, scrollTop 会被设为最大值。
    */
     var  el = document.getElementById("aa");
     var box = document.getElementById("box");
     // 1. 
     // 如果没有滚动条,scrollHeight就是框的高度,(不包括border边框的高度)  这里是200
     // 如果出现滚动条,就是内容总高度,这里就是 50*6 = 300
     console.log(box.scrollHeight); 
    // 2.设置scrollTop的值小于0,scrollTop 被设为0
    box.scrollTop = -1;
    console.log("scrollTop设置负值后 = ",box.scrollTop); // 0
    // 3 如果设置了超出这个容器可滚动的值, scrollTop 会被设为最大值。
    box.scrollTop = 300;  // 容器总高是300,可滚动值当然会小于300,这里设置了最大的300
    console.log("scrollTop设置超出这个容器可滚动的值后 = ",box.scrollTop); // 100  
    // 即内容的高度 300 - box框的高度 200  = 100(最大可滚动的值)
   </script>
</body>
</html>
目录
相关文章
|
小程序
VSCode插件 Beautify格式化微信小程序wxml属性换行显示
VSCode插件 Beautify格式化微信小程序wxml属性换行显示
2644 0
|
安全 网络安全
现代化企业网络安全架构设计与实践
随着企业信息化程度的提升,网络安全问题日益凸显。本文从企业网络安全架构设计与实践的角度出发,探讨了现代化企业网络安全的重要性、设计原则和实施方法,并结合具体案例进行分析,为企业构建健壮的网络安全体系提供了参考和指导。
|
网络协议 物联网 网络性能优化
物联网网络协议-MQTT协议的使用
物联网网络协议-MQTT协议的使用
575 2
|
JSON JavaScript 数据格式
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
647 0
|
存储 前端开发 JavaScript
Webpack【Webpack中模式(Mode)、Webpack中使用DevServer、Webpack中devtool增强调试过程】(二)-全面详解(学习总结---从入门到深化)
Webpack【Webpack中模式(Mode)、Webpack中使用DevServer、Webpack中devtool增强调试过程】(二)-全面详解(学习总结---从入门到深化)
655 0
|
资源调度 前端开发 JavaScript
Vite:新一代前端构建工具的革命性体验
【10月更文挑战第13天】Vite:新一代前端构建工具的革命性体验
封装react-antd-table组件参数以及方法如rowSelection、pageNum、pageSize、分页方法等等
文章介绍了如何封装React-Antd的Table组件,包括参数和方法,如行选择(rowSelection)、页码(pageNum)、页面大小(pageSize)、分页方法等,以简化在不同表格组件中的重复代码。
401 0
|
API 开发者 UED
鸿蒙next版开发:ArkTS组件通用属性(焦点控制)
在HarmonyOS 5.0中,ArkTS提供了完善的焦点控制属性,如focusable、defaultFocus、onFocus和onBlur,帮助开发者管理和响应用户界面中的焦点变化。本文详细介绍这些属性,并通过示例代码展示如何使用FocusController类进行焦点管理,提升应用的交互性和无障碍支持。
906 1
|
消息中间件 Kubernetes 容器
k8s安装rabbbitmq
k8s安装rabbbitmq
|
机器学习/深度学习 并行计算 PyTorch
如何搭建深度学习的多 GPU 服务器
如何搭建深度学习的多 GPU 服务器
如何搭建深度学习的多 GPU 服务器