0
我有一個奇怪的jQuery.offset()問題。jQuery:偏移問題
組件正在分層並取消下面鏈接的功能。上層是透明的和空的。
我的解決方案是遍歷所有鏈接(全部爲a
元素),獲取它們的位置(頂部,左側,高度和寬度值)和href,並在同一位置創建一個新的a
元素,放置在上層。
問題:此方法適用於四個鏈接中的三個。在一種情況下,新元素位於約120px的頂部,但左側的大小和偏移量都很好。任何想法在最後一個?
$("#container A").each(function(index){
var top = $(this).offset().top;
var left = $(this).offset().left;
var width = $(this).width();
var height = $(this).height();
var href = $(this).attr("href");
$('<A id="layer'+index+'"></A>').addClass("overlayer").css("left", left).css("top", top).css("width", width).attr("href", href).css("height", height).appendTo('#toplayer');
}
注:#container
與所有鏈接下層,#toplayer
是上層。
爲.overlayer的CSS類:
.overlayer {
background-color: #cc00cc;
position: absolute;
z-index: 10;
cursor: hand;
}
'.offset()'是相對於文檔的,你確定有問題的元素不在相對容器中嗎? – 2010-10-07 10:37:47
沒有任何元素被定位爲相對。 #container和所有新的A元素被定位爲絕對。 – Gerrit 2010-10-07 11:04:33
哪個鏈接定位不正確? – lnrbob 2010-10-07 17:41:20