我有一个JavaScript来处理检测页面是否在框架中.我使用top.frames []等,一切正常.
在这个脚本中,我注意到我可以互换地使用"窗口"或"自我",一切仍然有效.在HTML页面中使用"窗口"是否与"self"相同?
如何使用jQuery找出当前可见屏幕(视口)上元素的绝对位置?
我有position:relative
,所以offset()只会在父级内给出偏移量.
我有分层div,所以$("#me").parent().offset() + $("#me").offset()
也没有帮助.
我需要窗口中的位置,而不是文档,因此当滚动文档时,值应该更改.
我知道我可以添加所有父偏移量,但我想要一个更清洁的解决方案.
var top = $("#map").offset().top +
$("#map").parent().offset().top +
$("#map").parent().parent().offset().top +
$("#map").parent().parent().parent().offset().top;
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
更新: 我需要得到div顶部和文档顶部之间的精确像素差距,包括填充/边距/偏移量?
我的代码:
HTML
<div id="map_frame" class="frame" hidden="hidden">
<div id="map_wrapper">
<div id="map"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#map_frame{
border:1px solid #800008;
}
#map_wrapper {
position:relative;
left:2%;
top:1%;
width:95%;
max-height:80%;
display:block;
}
#map {
position:relative;
height:100%;
width:100%;
display:block;
border:3px solid #fff;
}
Run Code Online (Sandbox Code Playgroud)
jQuery调整地图大小以填充屏幕*
var t = $("#map").offset().top +
$("#map").parent().offset().top +
$("#map").parent().parent().offset().top +
$("#map").parent().parent().parent().offset().top;
$("#map").height($(window).height() - t - ($(window).height() * 8 / …
Run Code Online (Sandbox Code Playgroud)