jquery获取div(带滑动条)内容的实际高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery获取div(带滑动条)内容的实际高度相关的知识,希望对你有一定的参考价值。

一个div带有滑动条 当我不停向div添加内容时,div的实际高度就会大于div的设定高度,我想获取div的时间高度,麻烦给出实例||主要方法||函数 在线等

这个jquery应该可以娶到的。给你一个实例,注意自己添加jquery文件哈

<script language='javascript'>  
$(function()

$("#adds").click(function()
$("#xx").append("<h2>添加内容</h2>");
);
$("#geth").click(function()
vh=$("#xx").height();
$("#xx").prepend("<h2>我的高度为:"+vh+"</h2>")
);

); 
</script>
<div style="width:200px; height:200px; display:block; overflow-y:scroll">
<div id="xx">
sdfsdfs
sdfsdf
sdfsdf
</div>
</div>
<a href="javascript:;" id="adds">点击给XX里面添加内容</a>
<a href="javascript:;" id="geth">点击获取xx的高度</a>

追问

不行的height()只能取设定高度的

追答

亲。你看我的例子并没有写XX这个div的高度,你把xx的高度写死了,那你取到的肯定是个不变的值

追问

不写div 前台会变样啊

参考技术A 很简单,把内容再加个嵌套,获取嵌套的高度就可以了,嵌套的高度等于内容的高度。举例:
//假设以下div1是带滑动条的块
<div id="div1"> 内容 </div>
//加个嵌套之后:
<div id="div1"> <div id="div2"> 内容 </div> </div>
//此时不管div高度是什么变值,用jq获取div2的高度就等于内容实际高度,这是个定值。

jquery效果:DIV随浏览器滚动条上下移动

参考技术A 这个不难弄···
事先获取div的offset和它的高度··然后加起来··然后你在$(window).scroll(function());中判断当前滚动的高度是否等于高度+offset.top·如果等于的话·你就把div设置为position:fixed;
然后再给它一个top就可以了

以上是关于jquery获取div(带滑动条)内容的实际高度的主要内容,如果未能解决你的问题,请参考以下文章

寻找特定类型的 jQuery 内容滑块 [关闭]

如何使用 jQuery 获取 div 全部内容的高度?

jquery 如何实现回顶部 带滑动效果

js 或jquery 怎么获取div的scrollHeight

带滚动条的div如何实现内容滑动,新手不懂,求高手支招

实战-jQuery实现自定义滚动条插件