比较两个元素位置(偏移量)

时间:2015-06-29 10:12:24

标签: javascript jquery html

我需要比较两个元素的偏移位置,以找出一个元素是否位于其他元素的上方。

enter image description here

在这里,我需要检查是否放在屏幕上或不使用偏移位置。

HTML代码

    <div id="screen" style="background-color: olive; height: 120px; width:120px;"></div>
    <span id="me" style="position: absolute; left: 44px; top: 86px;">me</span></div>

的JavaScript

    var a = document.getElementById('screen') 
    var b = document.getElementById('me');

    aOffsetLeft=a.offsetLeft;
    aOffsetTop=a.offsetTop;

    bOffsetLeft=b.offsetLeft;
    bOffsetTop=b.offsetTop;

    //Here need to check whether b within a

请帮帮我

2 个答案:

答案 0 :(得分:1)

上面的代码在jquery中,下面是javascript代码:

https://jsfiddle.net/7xudznea/11/

var a = document.getElementById('screen')
var b = document.getElementById('me');
var c = document.getElementById('abc');

aOffsetLeft = a.offsetLeft;
aOffsetTop = a.offsetTop;
aoffsetHeight = a.offsetHeight;
aoffsetoffsetWidth = a.offsetoffsetWidth;

bOffsetLeft = b.offsetLeft;
bOffsetTop = b.offsetTop;

if ((aoffsetHeight + aOffsetTop >= bOffsetTop) || (aoffsetoffsetWidth + aOffsetLeft >= bOffsetLeft)) {
   document.getElementById('abc').innerHTML = 'true';
} else {
    document.getElementById('abc').innerHTML = 'false';
}

答案 1 :(得分:0)

    var $screen = $('#screen');
    var $me = $('#me');
    if ((($screen.height() + $screen.offset().top) >= $me.offset().top) || ($screen.width() + $screen.offset().left >= $me.offset().left)) {
        return true;
    } else {
        return false;
    }

演示:https://jsfiddle.net/7xudznea/6/