scrollTop属性是什么? 有些情况下,“元素中内容”的高度会超过“元素本身”的高度,

下面的演示中,外层元素的高度值是200px,内层元素的高度值是300px。很明显,“外层元素中的内容”高过了“外层元素”本身.当向下拖动滚动条时,有部分内容会隐没在“外层元素的上边界”之外,scrollTop就等于这部分“不可见的内容”的高度。
演示:(拖动滚动条,可以看到scrollTop值的变化)
这些文字显示在内层元素中。
scrollTop值是:

<div style="width:200px;height:200px;background-color:#999999;overflow:auto;" id="外层元素"> <div style="width:100px;height:300px;background-color:#FFFF00;" id="内层元素"> 这些文字显示在内层元素中。 </div> </div>
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

解释:
内层元素的高度值300px > 外层元素的高度值200px,因此“外层元素的内容”(也就是“内层元素”)无法完全显示,而外层元素把overflow设置为auto,因此外层元素的右侧会出现一个上下方向的滑动条
初始状态下,“内层元素的上边界”和“外层元素的上边界”重合,没有任何内容超过“外层元素的上边界”,此时scrollTop属性的值为0。
当向下拖动滚动条时,超过“外层元素的上边界”的内容会逐渐增多,scrollTop值就等于这些超出的部分。
当拖动滚动条到最底部时,“内层元素的下边界”和“外层元素的下边界”重合,超过“外层元素的上边界”的内容的高度=300px-200px=100px,这也就是此时的scrollTop值。
通过js代码来读取,写入scrollTop的值
注意:scrollTop的使用方式是element.scrollTop,而不是element.style.scrollTop
通过js代码来读取scrollTop的值
上面的演示实例中,其实已经用到了scrollTop的读取操作。具体来说就是,在拖动滚动条的过程中,会读取此时的scrollTop的值,并在下方文字中显示出来。
上面的演示实例的完整原码:

<div style="width:200px;height:200px;background-color:#999999;overflow:auto;" id="外层元素"> <div style="width:100px;height:300px;background-color:#FFFF00;" id="内层元素"> 这些文字显示在内层元素中。 </div> </div> scrollTop值是:<span id="演示元素scrollTop的值"></span>
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

解释:
当拖动“外层元素的滚动条”时,会产生onscroll事件。为这个事件注册一个名为读取scrollTop的值并显示出来的处理函数
在读取scrollTop的值并显示出来这个事件处理函数中,通过外层元素_div.scrollTop得到“外层元素”当时的scrollTop的值,并显示在页面上。
通过js代码来设置scrollTop的值
对上面的演示例子作一些修改。添加功能:通过js语句来设置scrollTop的值
示例:
这些文字显示在内层元素中。
scrollTop值是:
把scrollTop设为50把scrollTop设为500
输入scrollTop的值:确定
上面的演示实例的完整原码:

<div style="width:200px;height:200px;background-color:#999999;overflow:auto;" id="外层元素A"> <div style="width:100px;height:300px;background-color:#FFFF00;" id="内层元素A"> 这些文字显示在内层元素中。 </div> </div> scrollTop值是:<span id="外层元素A的scrollTop的值"></span> <button type="button" οnclick="div_外层元素A.scrollTop=50;">把scrollTop设为50</button> <button type="button" οnclick="div_外层元素A.scrollTop=500;">把scrollTop设为500</button> 输入scrollTop的值:<input type="text" id="输入scrollTop的值" value="" /> <button type="button" οnclick="设置scrollTop的值()" name="设置scrollTop的值">确定</button>
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

解释:
形如div_外层元素A.scrollTop = 12345;的赋值语句会触发onscroll事件,使得读取scrollTop的值并显示出来函数执行一次
上一个例子中已经提到:当拖动滚动条到最底部时,scrollTop=300px-200px=100px,这是scrollTop能够取的最大值。当用更大的值赋给scrollTop时,scrollTop会自动把它转变为100。例如上面的“把scrollTop设为500”按钮,scrollTop会把500转变为100。
得到body元素的scrollTop
body元素的scrollTop是超出“浏览器窗口上边界”的内容的高度
当html文档头部包含有“文档类型声明”时,需要用document.documentElement.scrollTop获得正确的值,而document.body.scrollTop的值为0

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script type="text/javascript">
alert("document.documentElement.scrollTop:"+document.documentElement.scrollTop //"正确的值"
+"document.body.scrollTop:"+document.body.scrollTop //"值为0"
);
</script>

当html文档头部不包含任何“文档类型声明”时,需要用document.body.scrollTop获得正确的值,而document.documentElement.scrollTop的值为0
下面定义的get_scrollTop_of_body()方法可以处理这种差异

复制代码 代码如下:

function get_scrollTop_of_body(){
var scrollTop;
if(typeof window.pageYOffset != 'undefined'){
scrollTop = window.pageYOffset;
}

<script language="JavaScript" src="http://book.book560.com/ads/ads728x15.js" type="text/javascript"></script>

else
if(typeof document.compatMode != 'undefined' &&
document.compatMode != 'BackCompat'){
scrollTop = document.documentElement.scrollTop;
}
else
if(typeof document.body != 'undefined'){
scrollTop = document.body.scrollTop;
}
return scrollTop;
}

scrollTop 用法说明相关推荐

  1. scrollTop 用法讲解

    scrollTop() 定义和用法 scrollTop() 方法设置或返回被选元素的[垂直滚动条位置]. Note: 当滚动条位置位于最顶部时,位置是0: 当用于返回位置时:     该方法返回 第一 ...

  2. document.body.scrollTop用法

    网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offs ...

  3. 浏览器高度 document.body.scrollTop用法

    网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: document.body.offs ...

  4. javascript滚动到顶部scrollTop用法

    首先了解下列相关属性 网页可见区域宽: document.body.clientWidth; 网页可见区域高: document.body.clientHeight; 网页可见区域宽: documen ...

  5. 深度理解Jquery 中 scrollTop() 方法

    这是工作遇到scrollTop() 方法.为了强化自己,把它记录在博客园当中. 下面就开始scrollTop 用法讲解: scrollTop() 定义和用法 scrollTop() 方法设置或返回被选 ...

  6. 关于滚动相关的属性【转】

    scrollTop 用法说明 js中的scroll和offset 使用比较的实例与分析 转载于:https://www.cnblogs.com/disneyland/p/4720486.html

  7. js是滚动条滑到固定位置_js滚动到指定位置

    序言:在网络上百度,关键字:"js div滚动到指定位置",结果基本上大同小异!各种大神都给我们总结出来了四种滚动到指定位置的办法,可惜再下愚钝,每个都不会用,所以写了一个超级简单 ...

  8. Js中 关于top、clientTop、scrollTop、offsetTop的用法

    2019独角兽企业重金招聘Python工程师标准>>> Js中 关于top.clientTop.scrollTop.offsetTop的用法 网页可见区域宽: document.bo ...

  9. scrollTop是什么及用法说明

    原文地址为: scrollTop是什么及用法说明 scrollTop属性是什么? 有些情况下,"元素中内容"的高度会超过"元素本身"的高度, scrollTop ...

最新文章

  1. 用VS2010构建MASM的编程环境
  2. linux split
  3. 009_InputNumber计数器
  4. ubuntu下配置eclipse环境
  5. php yii2 finfo file,FileHelper:文件系统助手
  6. leetcode209. 长度最小的子数组(滑动窗口)
  7. python中的常见的列表操作及注意事项
  8. dataframe记录数_大数据系列之Spark SQL、DataFrame和RDD数据统计与可视化
  9. OCP 11G 051题库解析笔记-总
  10. “头脑王者”爆红被封,微信小程序迎来蛮荒期
  11. etherlime-3-Etherlime Library API-Deployed Contract Wrapper
  12. HDU1013 POJ1519 Digital Roots(解法三)
  13. 《HTML与CSS设计》课程总结,网页设计课程学习心得总结
  14. caxa发生文件读写异常_常见socket读写异常及错误
  15. 扩展kalman滤波matlab程序,扩展卡尔曼滤波算法的matlab程序
  16. Ignite 架构全面解析
  17. NOI-C语言编程基础之循环控制——药房管理
  18. win10任务栏假死问题
  19. libcurl 使用方法简介
  20. 5 款非常好用的AI在线图片处理工具

热门文章

  1. Likecloud-吃、吃、吃(洛谷-P1508)
  2. 统计数字(信息学奥赛一本通-T1239)
  3. 后缀表达式的值(信息学奥赛一本通-T1331)
  4. 17 WM配置-策略-激活存储区搜索(Storage Section Search)
  5. 一起学习C语言:结构体(一)
  6. 网页mp3提取器_用Python写一个酷狗音乐下载器!
  7. git config设置用户名_git从安装到多账户操作一套搞定(二)多账户使用
  8. weblogic jms消息 删除_利用 Kafka 设置可靠的高性能分布式消息传递基础架构
  9. 资料:vue 3.0+版本发布
  10. phpcmsV9 中 phpsso通信失败的解决办法