我有一个奇怪的 jQuery.offset() 问题。
组件被分层并带走了下面链接的功能。上层是透明的和空的。
我的解决方案是遍历所有链接(所有a
元素),获取它们的位置(顶部、左侧、高度和宽度值)和 href,并a
在相同位置创建一个新元素,放置在上层。
问题:此方法适用于四个链接中的三个。在一种情况下,新元素位于距顶部约 120 像素的位置,但左侧的大小和偏移量都很好。对最后一个有什么想法吗?
$("#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;
}