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>
目录
相关文章
window.scrollTop 不生效的原因,如何解决
window.scrollTop 不生效的原因,如何解决
533 0
|
JavaScript 前端开发
height、clientHeight、scrollHeight、offsetHeight区别
height、clientHeight、scrollHeight、offsetHeight区别
height、clientHeight、scrollHeight、offsetHeight区别
|
JavaScript 容器
为什么元素的 scrollTop 一直为 0?
为什么元素的 scrollTop 一直为 0?
509 0
|
JavaScript IDE 开发工具
JS 中 offsetHeight/scrollHeight/clientHeight 的区别
client* clientWidth/clientHeight 返回的是元素的内部宽度,它的值只包含 content + padding,如果有滚动条,不包含滚动条 clientTop 返回的是上边
|
前端开发 JavaScript API
JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条
JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条
104 0
|
前端开发
你知道offsetHeight、scrollHeight、clientHeight的区别吗?
前言 offsetHeight、scrollHeight、clientHeight这三个属性我们经常在开发中遇到,如果小伙伴们没有经常使用的话,很容易把这些属性搞混,比如说什么窗口高度、元素高度、内容高度等等。当然,现在的前端框架很多时候帮我们封装了这些属性,但是我们也不能太过依赖框架,底层的原理我们还是需要了解的,今天就来理一理这三个属性分别代表什么?
196 0
你知道offsetHeight、scrollHeight、clientHeight的区别吗?
clientWidth与clientHeight,offsetWidth与offsetHeight
clientWidth与clientHeight,offsetWidth与offsetHeight
146 0
clientWidth与clientHeight,offsetWidth与offsetHeight
|
JavaScript 前端开发
你记住JS中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX吗?
你记住JS中offsetWidth、clientWidth、width、scrollWidth、clientX、screenX、offsetX、pageX吗?
|
API 编解码
clientHeight、offsetHeight、scrollHeight详解
  网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offsetWidth   (包括边线的宽); 网页可见区域高: document.
1480 0