scrollTop、scrollLeft、scrollWidth、scrollHeight原理使用介绍

摘要:
上部阴影为scrollTop;顶部阴影+白色+底部阴影是scrollHeight--varp=document。按Id获取元素(“p”);p、 scrollTop=10;//--˃scrollTop和scrollLeft因为为外部元素p设置了scrollTop,内部元素将向上滚动,滚动的部分是scrollStop。我们已经知道offsetHeight是其自身元素的高度,scrollHeight是内部元素的实际高度+外部元素的填充,包括内部元素的隐藏部分。上面p的offsetHeight是200,而其scrollHeight是300。如果p有填充,则应该在scrollHeight中包括填充,但不应包括其边框和边距。ScrollHeight类似。

scrollTop、scrollLeft、scrollWidth、scrollHeight

上面是一个网页,由于窗口大限的限制,没有完全显示出来,没有显示出来的,用阴影标注了。

  • 上阴影就是 scrollTop;
  • 上阴影 + 白的 + 下阴影就是 scrollHeight。

scrollTop 是“卷”起来的高度值,示例:

<div id="p">
<div id="t">如果为 p 设置了 scrollTop,这些内容可能不会完全显示。</div>
</div>
<script type="text/javascript">
<!--
var p = document.getElementById("p");
p.scrollTop = 10;
//-->
</script>

scrollTop、scrollLeft

由于为外层元素p(注意是 p,不是 t)设置了 scrollTop,所以内层元素会向上“卷”,这卷起来的部分就是 scrollTop

scrollLeft 也是类似道理。

scrollWidth、scrollHeight

我们已经知道 offsetHeight自身元素的高度,而 scrollHeight内层元素的实际高度 + 外层元素 padding,包含内层元素的隐藏的部分。

上述中p(注意是 p,不是 t)的 offsetHeight 为 200,而其 scrollHeight 为 300。如果 p 具有 padding,那么应该把 padding 算到 scrollHeight 中,但其 border、margin 不应计算在内。

scrollHeight 也是类似道理。

IE 和 FireFox 全面支持,而 Netscape 8(很老了)和 Opera 7.6(很老了)不支持 scrollTop、scrollLeft(document.body.scrollTop、document.body.scrollLeft 除外)。

免责声明:文章转载自《scrollTop、scrollLeft、scrollWidth、scrollHeight原理使用介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SpringBoot 入门python 配置环境下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue中记录页面的滚动距离

业务需求:pageOne页面是一个商品列表页面,在这个页面点击商品,就会跳转到pageTwo商品详细页面。此时再从pageTwo页面返回到pageOne页面时,pageOne页面需要做到:1.记录pageOne之前的滚动的距离。2.不重新请求数据。而从其它页面进入到pageOne页面时,pageOne页面不需要记录之前的滚动距离和需要重新请求数据。 1.使...

微信小程序小方块

第一步:配置animation.wxml文件(相当于html显示的页面) <import src="http://t.zoukankan.com/common/header.wxml" /> <import src="http://t.zoukankan.com/common/footer.wxml" /> <view cl...

asp.net 生成静态页 自动分页

template.html 代码 <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xh...

HTML标签CSS默认值研究

   最近写css的时候,发现在div元素里面添加ul元素后发现,ul列表在div里面距离最上方总是有一段空行,当时很奇怪,以为是哪个css出了问题,就把css去掉了,发现问题依旧,然后就查了一下发现html标签在不同浏览器里面是有默认的css样式的,要去掉默认样式,在样式表里添加 *{margin:0;padding:0;}即可,同时找到一个很有用的文档...

通过案例理解position:relative和position:absolute

w3school过了HTML的知识之后,觉得要自己单纯地去啃知识点有点枯燥,然后自己也很容易忘记,所以便找具体的网站练手便补上不懂的知识点。position:relative和postion:absolute困扰了我快一个星期之久,网上找到的资料鱼龙混杂,刚确定“这样”的理解之后,看另一份资料,发现“这样”理解是错了,就这样不断更正,并记录下来,最终整理出...

css设置文字中间的小竖线

主要css属性是border-right border-right:1px solid gray; padding-right:10px; padding-left:10px; <div data-bind="foreach:RequestListAll"> <a data-bind="text:PositionName...