jQuery:偏移问题

标签 jquery css offset

我有一个奇怪的 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;
}

最佳答案

如果browser support for pointer-events: none对你来说已经足够好了,你可以将它用于你的上层覆盖层而不是 JS hacks。

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

关于jQuery:偏移问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3880775/

相关文章:

javascript - 使用 JQuery Stellar 实现多个元素的多个垂直偏移?

html - 使用页内 anchor 链接控制页面的位置

C++如何将ifstream内容(来自文件)分配给具有偏移量的字符串(istreambuf_iterator)

javascript - 如何将元素移动到固定标题的正下方

php - 检查 DST 是否有效

javascript - 如何显示 HTML <div> 的副本,其大小为实际大小的 80%

javascript - 单击时替换 Font Awesome 5 图标的 jQuery 问题?

javascript - 根据 JSON 结果构建选择选项

html - Div inside Div - 单独的卷轴

jquery - 多向滚动网站