JQuery 获取元素到浏览器可视窗口边缘的距离
Posted shouke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery 获取元素到浏览器可视窗口边缘的距离相关的知识,希望对你有一定的参考价值。
获取元素到浏览器可视窗口边缘的距离
by:授客 QQ:1033553122
- 1. 测试环境
JQuery-3.2.1.min.js
下载地址:
https://gitee.com/ishouke/front_end_plugin/blob/master/jquery-3.2.1.min.js
Bootstrap-3.3.7-dist
下载地址:
https://gitee.com/ishouke/front_end_plugin/blob/master/bootstrap-3.3.7.zip
win7
- 2. 需求场景
实现需求:如下,获取tab标签页到页面底端的距离
前提:tab标签元素自身不携带滚动条
- 3. HTML代码片段
<div id="tabContent" class="tab-content">
<!--通过js获取 tab对应的页面内容-->
<div id="tab-content-80" role="tabpanel" class="tab-pane">
<iframe name="tabIframe" id="ifm80" src="/platform/page/resourceSetting.html" width="100%" frameborder="no"
border="0"
marginwidth="0"
marginheight="0"
scrolling="yes"
allowtransparency="yes"
onload="changeFrameHeight()">
</iframe>
</div>
<div id="tab-content-117" role="tabpanel" class="tab-pane active">
<iframe name="tabIframe" id="ifm117" src="/platform/page/roleSetting.html" width="100%" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="yes" allowtransparency="yes" onload="changeFrameHeight()">
</iframe>
</div>
</div>
- 4. JS代码实现
/**
* 设置tab标签页对应的页面内容高度
*/
function setTabPageContentHeight()
var contentContainer = $(‘#tabContent ‘); // 获取tab标签对应的页面div容器对象
var elementHeight = contentContainer.height(); //容器对象自身高度(如果页面刚加载完,这时还没打开tab页,会出现容器高度为0的情况
var offsetTop = contentContainer.offset().top; //容器距离document顶部的距离
var scrollHieght = $(document).scrollTop(); // 滚动条高度
var windownHeight = $(window).height(); //浏览器可视窗口的高度(不包括内边距、边框和外边距)
// 获取tab页面内容容器高度
var h = windownHeight - (offsetTop-scrollHieght) - elementHeight;
注意:当改变浏览器窗口高度时,$(window).height() 会随之动态改变
- 5. 参考链接
http://blog.sina.com.cn/s/blog_141f2f34a0102vmxh.html
https://segmentfault.com/q/1010000009247077
以上是关于JQuery 获取元素到浏览器可视窗口边缘的距离的主要内容,如果未能解决你的问题,请参考以下文章