目录

示例图说明

编码示例

回到顶/底部

消息区自动滚动到底部


示例图说明

如上图所示,假设橙色表示滚动条,蓝色框表示 div 区域,黑色区域表示看不到的文档部分,高度说明如下:

B:表示 div 元素高度,div 的高度不会随着内容的编号而编号,与有没有出现滚动条无关,只与自己的 height 属性有关

A:表示 div 内文档高度,当没有出现滚动条时,A文档高度等于 div 高度(A = B);随着内容的增加出现滚动条时,A 的值会增加

C:滚动条相对 div 元素顶部(top)边缘的距离,与上面隐藏的文档无关。

A >= B + C;// 图1 中 C = 0; 图2 中 A > B + C ;图3 中 A = B + C;

div 文档总高度(A)获取方式如下:

var scrollHeight = document.getElementById("#div1").scrollHeight; //scrollHeight 必须 DOM 操作,JQuery 没有对应方法

var scrollHeight = $("#div1")[0].scrollHeight //可以使用 JQuery 先选择元素,然后 [0] 转为 DOM 对象

div 元素高度(B)获取方式如下:

var height=$("#dvi1").height() // JQuery 操作方式

div 滚动条相对 div 元素顶部(top)边缘的高度:

var scrollTop = $("#div1").scrollTop();  // JQuery 获取方式

var scrollTop = document.getElementById("div1").scrollTop; // DOM 方式

编码示例

回到顶/底部

实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><title>Div 距离汇总</title><style type="text/css">.test {width: 500px;height: 300px;background-color: #444444;overflow: auto;color: white;}h1 {margin-top: 80px;}</style><!-- JQuery CDN--><script src="http://code.jquery.com/jquery-2.1.1.min.js"></script><script type="text/javascript">$(function () {/*** 回到顶部*/$("#top").click(function () {$(".test").scrollTop(0);/*** scrollTop:div 滚动条距离 div 上边缘的距离* scrollHeight:div 内文档总高度(包括被隐藏的),当没有出现滚动条时,scrollHeight = height* height:div 元素的高度,只与自己 height 属性有关,与滚动条无关*/let scrollTop = $("#inner").scrollTop();let scrollHeight = $("#inner")[0].scrollHeight;let height = $("#inner").height();console.log("height=" + height, "scrollTop=" + scrollTop, "scrollHeight=" + scrollHeight);});/*** 调到底部*/$("#bottom").click(function () {let scrollHeight = document.getElementById("inner").scrollHeight;$(".test").scrollTop(scrollHeight);let scrollTop = document.getElementById("inner").scrollTop;let height = $("#inner").height();scrollHeight = document.getElementById("inner").scrollHeight;console.log("height=" + height, "scrollTop=" + scrollTop, "scrollHeight=" + scrollHeight);});/*** 运动到中间*/$("#center").click(function () {let scrollHeight = document.getElementById("inner").scrollHeight;let middle = scrollHeight / 2;$(".test").scrollTop(middle);let scrollTop = $("#inner").scrollTop();let height = $("#inner").height();scrollHeight = document.getElementById("inner").scrollHeight;console.log("height=" + height, "scrollTop=" + scrollTop, "scrollHeight=" + scrollHeight, "middle=" + middle);});});</script>
</head>
<body>
<div class="test" id="inner"><h1>China 1</h1><h1>USA 1</h1><h1>UK 1</h1><h1>China 2</h1><h1>USA 2</h1><h1>UK 2</h1><h1>China 3</h1><h1>USA 3</h1><h1>UK 3</h1>
</div>
<button id="top">回到顶部</button>
<button id="bottom">跳到底部</button>
<button id="center">运动中间</button>
</body>
</html>

消息区自动滚动到底部

实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><title>Div 距离汇总</title><style type="text/css">.test {width: 300px;height: 100px;background-color: #444444;overflow: auto;color: white;}h1 {margin-top: 80px;}</style><!-- JQuery CDN--><script src="http://code.jquery.com/jquery-2.1.1.min.js"></script><script type="text/javascript">$(function () {/*** 发送消息时,滚动条自动移动在底部*/$("#send").click(function () {let message = $("textarea").val();$("#inner").append("<span>" + message + "</span><br>");/*** scrollHeight:div 内文档总高度(包括被隐藏的),当没有出现滚动条时,scrollHeight = height* height:div 元素的高度,只与自己 height 属性有关,与滚动条无关*/let scrollHeight = $("#inner")[0].scrollHeight;let height = $("#inner").height();/*** 滚动条距离元素顶部的高度 + div 元素的高度 = 文档的高度* 这样滚动条刚好在底部*/$("#inner").scrollTop(scrollHeight - height);});});</script>
</head>
<body>
<div class="test" id="inner">
</div>
<div class="test"><textarea style="width: 100%;height: 100%;background-color: white"></textarea>
</div><button id="send">发送</button>
</body>
</html>

Div 高度、滚动条距 Div 顶部偏移量、Div 中文档总高度相关推荐

  1. html css div 高度自适应,HTML/CSS中,DIV高度自适应解决办法

    获取content高度 *{color:#fff} .header{ height: 40px; width:100%; position: fixed; top:0; left:0; backgro ...

  2. html三个div相同高度,两个DIV高度自适应方法(左右两个DIV高度一样)

    html: aaaa aaaa bbb 1.使用display:table; 利用的table本身的自适应特性,兼容性好,容易使用#container{width:500px; display: ta ...

  3. html页面如何变成百分之百,css height 100% CSS成功设置DIV高度百分之百

    css height 100% ,使用CSS成功设置DIV高度百分之百,CSS height百分之百高度 让html中第一个div(最外层div)高度100%(height:100%)实现. 一.di ...

  4. CSS设置div高度自适应

    通过CSS实现Div高度自适应: 问: 在一个DIV中有多个未知高度的子元素DIV,怎样通过CSS实现子元素div同高 或 怎样实现同行div按照内容最多的那个设置高度. 如图: 实现1:添加表格特性 ...

  5. js获取滚动条距离浏览器顶部,底部的高度

    做web开发经常会碰到需要获取浏览器的滚动条与顶部和底部的距离,然后做相应的处理动作.下面作者就如何通过js来获取浏览器滚动条距离浏览器顶部和底部的高度做一下分享,这个是同时兼容ie和firefox的 ...

  6. Jquery页面滚动条向下拉到div的位置时,此div就固定在顶部,向上拉时返回原位置

    Div在网页打开时固定在某个位置(不一定是网页的最顶端),当滚动条向下滚动时,页面的顶部到达此div位置后,此div就固定在网页的最顶部跟随移动,当滚动条向上滚动时,页面顶部高过此div原来的固定位置 ...

  7. 内容滚动条和子div高度自适应

    内容滚动条和子div高度自适应 写在前面:老套路有图有真相,这才叫做分享.本文内容是:一个div里面,两个子div高度自适应(平分父div的高度)和元素内容过多的时候,根据需求出现高度滚动条或者宽度滚 ...

  8. 如何div高度占满全屏无滚动条

    如何div高度占满全屏无滚动条 <!DOCTYPE html> <html><head><meta charset="UTF-8"> ...

  9. html 设置距离左边,js怎样设置div层左边距 及与顶部边距

    实现原理: 首先,我们将弹出框中的内容放置在一个特殊的DIV层中,然后默认隐藏它(即初始不可 见,使用CSS即可实现).当用户执行某个动作时--比如点击某个链接或者将鼠标光标移动到某个链接上--我们将 ...

  10. div 超出高度滚动条,超出宽度点点点

    超出高度滚动条 style="width:230px; height: 180px; overflow: auto;" 超出宽度点点点 style="width: 220 ...

最新文章

  1. 水果电商小程序云开发,从零到上线投入使用
  2. libevent 获取多线程结构体变量加锁方法
  3. 主流html5桌面应用开发,主流HTML5开发工具推荐
  4. 中企ITIL需软落地
  5. VC使用flash简易教程
  6. [html] 请说说input的inputmode属性有什么应用场景?
  7. Android ToolBar 使用完全解析
  8. java第一次课必修实验答案,Java第一次实验报告
  9. numpy 矩阵与向量相乘_有人把NumPy画成了花,生动又形象
  10. update set操作 根据变量选择colum
  11. MySQL不同数据类型如何表示_MySQL系列(二)--数据类型
  12. 招财宝计算器android,招财宝收益计算器
  13. 数组、链表、哈希表(数据结构)-代码随想录
  14. pcd 地图转 栅格地图
  15. 华为手机linux终端,华为云IoT如何让“哑”终端进化为智能终端?看完这场直播你就明白了...
  16. 个人空间岁末大回报活动12月21日获奖名单
  17. win7性能服务器,性能大改善,微软Win10版本ca18301909即将推出,网友为何仍坚持win7?...
  18. 胎死腹中的天颖工作室-2004年初的痛楚
  19. 【哈利波特】Sherbert Lemon对HP的解读之10
  20. Eclipse安装Kotlin插件后,新建找不到Kotlin文件

热门文章

  1. 数学之美番外篇--贝叶斯方法
  2. sql 获取日期时分秒_SQL获取系统年月日时分秒 | 学步园
  3. oauth2 token为空拦截_OAuth2 Token 一定要放在请求头中吗?
  4. 旅游规划 (25 分)(Dijkstra)
  5. python ios自动化_【Mac + Appium + Python3.6学习(三)】之IOS自动化测试环境配置
  6. Java Web编程实战1~3章笔记
  7. fcbf特征选择python_全自动机器学习:自动特征筛选(B)R语言自动特征工程实现...
  8. uchar与char
  9. 2021-06-26JS基本语法 入门
  10. 增大表名最大长度_全球最大室内滑雪场结构技术解密!