【问题标题】:jquery ie8 scrollTop and offset issuejquery ie8 scrollTop和偏移问题
【发布时间】:2011-04-05 15:36:17
【问题描述】:

我正在尝试将一个非常简单的悬停工具提示直接放置在页面上的一系列元素上方。我的定位代码在 FF 中完美运行,但在 IE8 中,如果页面滚动则定位失败。我正在补偿滚动,但在 IE8 中似乎我必须将数字翻倍才能正常工作。

$('.evidence_thumb').mouseenter(function() {
    var position = $(this).position();
    $top = ((position.top - $('#icon_tool_tip').height()) + $(window).scrollTop()) + 10;
    $left = ((position.left) + $(window).scrollLeft()) - 40;
    $('#icon_tool_tip').offset({ top: $top, left: $left });
});

上述代码显示的误差范围始终是scrollTop的数量。我还没有测试过水平滚动,但我认为它会有同样的问题。

【问题讨论】:

    标签: jquery internet-explorer-8 offset scrolltop


    【解决方案1】:

    我不会准确地将其称为“已解决”,但我停止使用 jquery 偏移量来支持 css。我变了: $('#icon_tool_tip').offset({ top: $top, left: $left }); 到: $('#icon_tool_tip').css({ top: $top, left: $left });

    这让我的问题消失了,但这里发生了一些奇怪的事情,我希望了解偏移量。

    【讨论】:

    • $top 和 $left 与 offset() 一起使用时是否有单位?根据 jQuery doc,看起来您不需要带有 offset() 的单位
    • 他们没有单位。奇怪的是,我认为需要它们的 css 调用也不需要它们,尽管我没有检查文档来确定。如果我没有被淹没,我计划重新审视这个问题并找出发生了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2019-12-02
    相关资源
    最近更新 更多