获取图像相对于父对象的位置,同时考虑垂直偏移
Get position of image relative to parent, taking vertical-offset into consideration
我在HTML中有两个相邻的图像。一个图像比另一个高。图像具有vertical-align: middle
CSS属性。这会导致较短的图像相对于父容器的位置低于较高的图像。
我使用jQuery .position()
方法来获取图像的位置。当较短的图像由于vertical-align: middle
CSS属性而进一步向底部偏移时,两个图像的position.top是相同的。
考虑到vertical-align: middle
CSS属性引起的垂直差异,我如何获得图像的实际位置?
更新:
问题的发生是因为我做了以下事情:
- 我的HTML输出的图像并没有src属性。他们确实具有宽度和高度,因此浏览器不需要等待在计算其位置之前加载实际图像(稍后的步骤)
- 我设置了每个图像的src属性
- 我使用jQuery检查位置。我的猜测是浏览器(FF9.0.1)等待加载图像,然后更新其位置并使其可用于JS
我需要重新设计我的应用程序,这样就不会发生这种情况。
试试这个
http://jsfiddle.net/cadence96/X54gy/
small = parseInt($('img:eq(0)').css('height'));
big = parseInt($('img:eq(1)').css('height'));
difference = big - small;
top_distance = difference/2;
alert(top_distance);
只需得到较高的div
的高度,减去有问题的div
的高度,然后除以2。这将为您提供其相对于父div
的偏移量。
使用jquery.offset会给出它相对于全身的实际位置。如果你只想让它相对于它的父级,你可以这样写一个脚本;
function findPos(obj,till){
var curleft = curtop = 0;
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
return [curleft,curtop];
}
(c) Peter Paul Koch
相关文章:
- 如何获取相对于 HTML 页面的标记位置
- 使用return相对于this的优势
- positon元素相对于JS中的parent.part容器?没有绝对/固定的定位
- 获取一个元素相对于Javascript中一个祖先的位置
- Facebook PHP SDK相对于PhoneGap上的JS SDK的优势
- 相对于GoogleMaps/geoxml3解析器延迟Javascript函数的执行
- 文本相对于 SVG 中的父项 G 右对齐
- 检测 iOS 相对于 JavaScript 中主页按钮的方向
- 服务器端JavaScript相对于Java的优势
- node.js获取文件相对于project/src的路径
- jquery 相对于 href=“#” 删除显示块
- 如何使用选择器获取相对于element实例的元素
- 在JSON for REST中,snake_case相对于camelCase的优势
- bind()相对于call()有什么用?我们可以用bind()做什么额外的事情,而用call()做不到
- 设置相对于“window.innerHeight”的高度无效
- 如何定义相对于kraken.js中的url的区域设置
- Javascript/html5 2d Canvas Context -获取相对于Canvas的X, Y(相对于转换对象
- 将文本相对于html画布对齐
- 格式化时间(秒)相对于JavaScript中的金额
- 如何获得SVG子元素的位置相对于SVG在页面上的位置,D3.js