JQuery 获取元素到浏览器可视窗口边缘的距离

获取元素到浏览器可视窗口边缘的距离

by:授客 QQ:1033553122

  1. 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

  1. 2.   需求场景

实现需求:如下,获取tab标签页到页面底端的距离

前提:tab标签元素自身不携带滚动条

  1. 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"

>

</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" >

</iframe>

</div>

</div>

  1. 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() 会随之动态改变

 

  1. 5.   参考链接

http://blog.sina.com.cn/s/blog_141f2f34a0102vmxh.html

https://segmentfault.com/q/1010000009247077

原文地址:https://www.cnblogs.com/shouke/p/11429076.html

时间: 2024-10-12 15:43:07

JQuery 获取元素到浏览器可视窗口边缘的距离的相关文章

JavaScript中关于获取浏览器可视窗口的几个兼容性写法的理解

1.浏览器可视窗口的概述: 浏览器可视区域不是网页的body的大小.可视区指的是浏览器减去上面菜单栏.工具栏,下面状态栏和任务栏,右边滚动条(如果有的话)后的中间网页内容的单页面积大小.而body大小是随着内容调整而变动的,可大可小.如果有滚动条的话,body的要大于可视区 2.不同浏览器或版本的不同写法: 对于IE9+.Chrome.Firefox.Opera 以及 Safari(window对象属性不支持IE8及以下浏览器): window.innerHeight - 浏览器窗口的内部高度

jquery获取文档高度和窗口高度问题

$(document).height():整个网页的文档高度 $(window).height():浏览器可视窗口的高度 经过测试 无论是窗口高度还是文档高度 ,其实值是相等的.都会随着浏览器窗口的缩放而变化, 注意: IE8下面 获取到的$(document).height()文档高度值,比实际高度多4px. 比如获取的是768px. 则文档的实际高度是764px.如果里面放的元素高度超过764px,则出现右侧滚动条. $(window).height()获取高度没这问题是实际高度. 切记 $

jquery获取文档高度和窗口高度汇总

jquery获取窗口高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).height():浏览器可视窗口的高度 $(window).scrollTop():浏览器可视窗口顶端距离网页顶端的高度(垂直偏移) $(document.body).height();//浏览器当前窗口文档body的高度 $(document.body).outerHeight(true);//浏览

jquery获取文档高度和窗口高度

jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).height():浏览器可视窗口的高度 $(window).scrollTop():浏览器可视窗口顶端距离网页顶端的高度(垂直偏移) 用一句话理解就是:当网页滚动条拉到最低端时,$(document).height() == $(window).height() + $(window).scrollT

Jquery获取元素坐标

获取页面某一元素的绝对X,Y坐标,相对于浏览器窗体,可以用offset()方法: var X = $('#DivID').offset().top; var Y = $('#DivID').offset().left; 获取相对(父元素)位置: var X = $('#DivID').position().top; var Y = $('#DivID').position().left; 例如: var offset = $("#fontsize").position();$(&quo

jQuery -&gt; 获取元素的各种过滤器(filter)

通过顺序来选择 顺序选择的过滤器(filter)有 :first 第一个元素 :last 最后一个元素 :even 序号为偶数的元素 :odd 序号为奇数的元素 :eq(n) 序号等于n的元素 :lt(n) 序号小于n的元素 :gt(n) 序号大于n的元素 如果有如下的表格 0 even 1 odd 2 even 3 odd 4 even html代码如下 <table> <tr><td>0</td><td>even</td><

JQuery获取元素的方法总结

JQuery获取元素的方法总结 一.说明   获取元素的方法分为两种:jQuery选择器.jQuery遍历函数. 做个总结,巩固下知识. 二.获取本身 1.只需要一种jQuery选择器   选择器 实例 说明 #Id $('#myId') ID选择器: 可以获取到ID为"myId"的元素,区分大小写 2.多种jQuery选择器组合 分为两部分:前半部分获取到的是一个元素集合,后半部分可以精确为一个元素,两者相结合,可以获取到想要的元素. 1)前半部分选择器   选择器 实例 说明 .c

Jquery获取元素方法

Jquery 获取元素的方法分为两种:jQuery选择器.jQuery遍历函数. 1.获取本身: a.只需要一种jQuery选择器 选择器 实例 说明 #Id $('#myId') ID选择器: 可以获取到ID为"myId"的元素,区分大小写 b.多种jQuery选择器组合 b1.jQuery选择器 选择器 实例 说明 .class $('.myClass') 类选择器:可以获取到class为'myClass'的所有元素 element $('p') 获取所有的<p>元素

jquery获取元素索引值index()

jquery获取元素索引值index()方法实例. jquery获取元素索引值index()方法: jquery的index()方法 搜索匹配的元素,并返回相应元素的索引值,从0开始计数. 如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置. 如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置. 如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置.如果找不到匹配的元素,则