說,你有這樣的:如何判斷一個Div是否在另一個div的右側或左側? jQuery的的JavaScript
<div id="1"></div><div id="2"></div><div id="3"></div>
你可以使用JavaScript/jQuery來發現ID = 「2」 是的id = 「1」 的權利?
說,你有這樣的:如何判斷一個Div是否在另一個div的右側或左側? jQuery的的JavaScript
<div id="1"></div><div id="2"></div><div id="3"></div>
你可以使用JavaScript/jQuery來發現ID = 「2」 是的id = 「1」 的權利?
你可以讓自己的立場,如果DIV#I1的立場是比格#的一個較小i2的位置(他們的x定位,如果你願意的話)。 http://api.jquery.com/position/
#Requires jQuery
var d1x = $('div#i1').position().left,
d2x = $('div#i2').position().left;
$('span').html((d1x < d2x) ? "yes" : "no");
我不認爲ID可以只是數字。它可能有用,但這不是一個好習慣。
jsFiddle:http://jsfiddle.net/PKpdp/
是的。你如何檢查這取決於你的意思是「正確的」。
可以使用offset
方法來獲得兩個元素的位置:
o1 = $('#1').offset();
o2 = $('#2').offset();
現在你可以比較o1
和o2
對象的left
和top
性能。
如果通過「向右」意味着他們是彼此的旁邊,而第二個div是在右邊,你有兩個屬性比較:
if (o1.top == o2.top && o1.left < o2.left) ...
如果只意味着第二個div應該更多地去比第一的權利,那麼你只需要比較left
屬性:
if (o1.left < o2.left) ...
注意的id
不應以數字開頭。使用例如id="x1"
和id="x2"
將是有效的。
我會做這樣的事情:
function is_div2_after_div1() {
is_after = null;
$("#parent > div").each(function(i, el) {
if (is_after !== null) return;
if (el.id && el.id == "div1") is_after = true;
if (el.id && el.id == "div2") is_after = false;
}
return is_after;
}
你的意思是正確的作爲顯示在右邊,或向右作爲下一個元素? – 2011-04-26 16:33:11
有什麼區別/ – TaylorMac 2011-04-26 16:33:57
顯然他的意思是「顯示」。 @TaylorMac爲什麼你問這個,只是爲了它的樂趣或爲了一個真正的目的? – 2011-04-26 16:35:16