1、获取div的文档总高度(必须DOM操作):

var scrollHeight=document.getElementById("inner").scrollHeight;

// jq中没有scrollHeight -只有scrollTop():
// 所以用DOM操作获取元素并计算scrollHeight。
1
2
3
4
2、获取div的窗口显示高度:

var height=$("#inner").height()
//或
var height=document.getElementById("inner").offsetHeight
1
2
3
3、获取div的卷上去高度:

var scrollTop=$("#inner").scrollTop();
//或
var scrollTop=document.getElementById("inner").scrollTop;
1
2
3
4、三者关系:

scrollHeight >= height + scrollTop
1
5、获取div距离文档(body)顶部的高度 $(“#inner”).offset().top

6、获取div距离父元素顶部的距离 $(“#inner”).position().top

7、获取div距离窗口(window)顶部的距离 (“#inner”).offset().top - (“body”).scrollTop()

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/"/>
<title>蚂蚁部落</title>
<style type="text/css">
* {
margin: 0px;
padding: 0px;
}

#box {
width: 200px;
height: 200px;
background-color: blue;
top: 100px;
left: 100px;
padding: 50px;
position: absolute;
margin-top: 20px;
}

#inner {
width: 100px;
height: 100px;
background-color: red;
}

span {
color: red;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
/*
1、获取div的文档总高度(必须DOM操作): var scrollHeight=document.getElementById("inner").scrollHeight;
2、获取div的窗口显示高度: var height=$("#inner").height()
3、获取div的卷上去高度: var scrollTop=$("#inner").scrollTop()
4、三者关系:scrollHeight >= height + scrollTop

5、获取div距离文档(body)顶部的高度 $("#inner").offset().top
6、获取div距离父元素顶部的距离 $("#inner").position().top
7、获取div距离窗口(window)顶部的距离 $("#inner").offset().top - $("body").scrollTop()
* */

$(document).ready(function () {
$("#bt").click(function () {
console.log("--div滚动距离------------------------------------");
console.log(document.getElementById("inner").scrollTop);
console.log($("#inner").scrollTop());

console.log("--div文档总高度-------------------------------------");
// There is no scrollHeight in jQuery - it's scrollTop():所以用DOM操作获取元素并计算scrollHeight。
console.log(document.getElementById("inner").scrollHeight);//div总高度
console.log($("#inner").scrollHeight);//jq没此方法

console.log("---div显示高度----------------------------------");
console.log(document.getElementById("inner").offsetHeight);//div显示高度
console.log($("#inner").offsetHeight);//jq没此方法

console.log(document.getElementById("inner").height);//DOM无此操作
console.log($("#inner").height());//div显示高度

/*----------------------------------------------------------------------------------*/

var scrollHeight = document.getElementById("inner").scrollHeight;
$("#zero").text($("#inner").height() + " 窗口卷上去=" + $("#inner").scrollTop() + " 文档高度" + scrollHeight);
$("#first").text($("#inner").offset().top);//距离文档顶部的高度
$("#second").text($("#inner").position().top);//距离父元素顶部的距离
$("#third").text($("#inner").offset().top - $("body").scrollTop());//距离窗口顶部的距离
$("#forth").text($("body").scrollTop());//body卷上去高度

console.log("--div距离顶部距离-----------------------------------------")
//top:此属性仅仅在对象的定位(position)属性被设置时可用。否则,此属性设置会被忽略。
console.log("blue==="+$("#box").offset().top);//blue距离body顶部距离 = top + margin-top
console.log("blue==="+document.getElementById("box").top);//DOM中无此方法

console.log("blue==="+$("#box").offsetTop);//jq无此方法
console.log("blue==="+document.getElementById("box").offsetTop);//blue距离body顶部距离 = top + margin-top
})
})
</script>
</head>

<body style="height:1000px;">
A
<div id="box">
Blue
<div id="inner" style="overflow: auto">
<!--ccccccccccccccccccccccccccccccccc-->
offset()方法的定义和用法:
此方法返回或设置所匹配元素相对于document对象的偏移量。
获取匹配元素在当前document的相对偏移。
返回的对象包含两个整型属:top和left。
此方法只对可见元素有效。
<!--ccccccccccccccccccccccccccccccc-->
</div>
</div>

<div style="margin-top:420px;">
红色区域的窗口高度:<span id="zero"></span>
<br>
不存在水平滑动时,窗口window高度 + 窗口window滚上去高度 <= 文档body总高度
<br>
同理,不存在水平滑动时,div的window高度 <= div的window高度 + div的window滚上去高度 <= 文档div的总高度
<br>
存在水平滑动时,div的window高度 <= div的window高度 + div的window滚上去高度 。
<br>
竖直滑到底部时:div的window高度 + div的window滚上去高度= 文档div的总高度+水平滚动条的高度
<br>
<br>
c距离文档body顶部距离(不变):<span id="first"></span>
<br>
c距离父元素b顶部的距离(不变):<span id="second"></span>
<br>
c距离窗口window顶部的距离:<span id="third"></span>
<br>
body卷上去:<span id="forth"></span>
</div>

<input type="button" id="bt" value="点击显示结果">
</body>
</html>

获取div的高度的更多相关文章

  1. 动态获取div的高度 随着窗口变化而变化

    // 1.jq法 <script> var winHeight = $(window).height(); $("#show").css("height&qu ...

  2. js 获取div 图片高度

    使用jquery获取网页中图片的高度其实很简单,有两种常用的方法都可以打到我们的目的 $("img").whith();(返回纯数字) $("img").css ...

  3. 从动态获取div高度的问题展开来看

    ps 可能篇幅比较长,请大家耐心看看 今天有人在群里问我 动态获取高度怎么获取  我就说jq中的outerHeight. height .innerHeight   原生的height clientH ...

  4. jQuery获取不到隐藏DIV的高度和宽度

    今天做公司订单系统的修改,有同事将订单维护的四个部分拆成了四个小的tab页,由于数据表格时动态加载,所以表格的高度是动态变化的,可不知怎么,先点哪个哪个的高度就正常,其他的都是最小值,这下蒙了,这个找 ...

  5. JQUERY 获取 DIV 宽度与高度(width,padding,margin,border)

    一般讲的宽度指的是内容宽度,但一个 div 的实际宽度不仅只于内容宽度,尤其在做 CSS 排版时更不能搞错,必须同时考虑 Padding.Border 与  Margin 的宽度,四个加起来才是 di ...

  6. 获取可视区域高度赋值给div(解决document.body.clientHeight的返回值为0的问题)

    设置html,body{height:100%} 在使用html5文档类型的时候, 设置了html body的高度100%之后,两个浏览器就都能获取document.body.clientHeight ...

  7. JS获取div高度的方法

    有时在写页面时,需要获取一个div的高度.怎么才能获取呢?哈哈,先上结论.有两种方法. offsetHeight .clientHeight getComputedStyle offsetHeight ...

  8. javascript获取div高度

    DOM的: 获得了div的高度值 = document.getElementById("目标id").offsetHeight;

  9. 用JS来控制 div的高度随浏览器变化而变化

    <div id="test" style=" border: solid 1px #f00; "></div> <script t ...

随机推荐

  1. 浅谈vuex

    很多技术,刚接触的时候:这是啥?用的时候:哟嚯,是挺好用的!加以研究:卧槽,就是这么个逼玩意儿! 最近接手了一个别人写了1/5的vue项目(页面画了1/3,接口啥都没对); 对于表格中的数据项操作以及 ...

  2. python采用pika库使用rabbitmq总结,多篇笔记和示例(转)

    add by zhj:作者的几篇文章参考了Rabbitmq的Tutorials中的几篇文章. 原文:http://www.01happy.com/python-pika-rabbitmq-summar ...

  3. CAD和GIS绘制图形分析

    开发CAD和GIS绘图系统有些区别,自己试着分析一下. ♠ 首先CAD图形绘制主要管理图形,因此会有一个抽象的Geometry对象,软件维护一个Geometry对象的集合.如果以图层来管理几何图形,则 ...

  4. springboot 使用model重定向到html模板,对数据进行展示

    1:使用springboot, ,html使用thymeleaf,nekohtml模板 在build.gradle中添加依赖 buildscript { repositories { mavenCen ...

  5. CCPC2018-湖南全国邀请赛 Solution

    A - Easy $h$-index 后缀扫一下 #include <bits/stdc++.h> using namespace std; #define ll long long #d ...

  6. 466E - Information Graph 巧妙的判断祖先于孩子的关系

    这题说的是给了一个公司员工100000 然后现在又3种操作第一种将y置为x的父亲,第二种操作将文件给第x个人签他签完给他的上司签,一直到没有上司为止,第三种操作问x是否签了第i份文件,然后 我们只要直 ...

  7. map.containsKey

    该方法判断Map集合对象中是否包含指定的键名.如果Map集合中包含指定的键名,则返回true,否则返回false. 语法  containsKey(Object key) . e.g public s ...

  8. NET Framework 4.0无法安装!

    win7旗舰版无法安装CAD2012,安装NET Framework 4.0的时候就出现错误,安装NET Framework 4.0单独版也无法安装出现错误. 解决方法: 1.点击电脑桌面右下角的“开 ...

  9. 三.野指针和free

    在C语言项目中,经常会遇到需要程序员手动分配内存的地方.这样做能够节省大量的内存空间,也让程序更加灵活.只要你有一定的基础,那么肯定用过 malloc 或者 ralloc和free的组合.这个组合使用 ...

  10. Applet初次使用

    ZLYD团队Apllet学习笔记 初识Applet Applet是采用Java编程语言编写的小应用程序,该程序可以包含在 HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同.J ...