jQuery:偏移问题

时间:2010-10-07 10:35:19

标签: jquery css offset

我有一个奇怪的jQuery.offset()问题。

组件正在分层并剥夺了下面链接的功能。上层透明且空着。

我的解决方案是迭代所有链接(所有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;
}

1 个答案:

答案 0 :(得分:0)

如果browser support for pointer-events: none对您来说足够好,您可以将其用于上覆盖层而不是JS黑客。

一些不支持它的旧IE有一个“功能”,你可以点击没有你可能使用的背景的框。