jQuery Animate / Offset问题

时间:2011-07-12 11:55:51

标签: jquery position offset

我有一个小椅子计划。当我将鼠标悬停在椅子上时,我会得到一个用jQuery制作的小弹出窗口。弹出窗口的位置基于我悬停在椅子上的offset()

当我滚动时,弹出窗口仍保留在DOCUMENT中的相同位置,但它应该与我悬停在的椅子上对齐。

Here's an example

$(document).ready(function(){
    $(".sp_seat").live('mouseover', function()
    {
        var id = $(this).attr('id');

        var x = $(this).offset().left;
        var y = $(this).offset().top;

        $('#seat_'+id).css({"left":(x+30)+"px","top":(y+10)+"px"});

        $('#seat_'+id).fadeIn('fast');

    });

    $(".sp_seat").mouseout(function()
    {
        $('.username').fadeOut('fast');
    });

    $(".free").click(function()
    {
        var id = $(this).attr('id');
        window.location='?page=event/seatplan&action=pick&seat='+id;
    });
});

这是我现在的jQuery代码。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您好,您应该可以将您的ypos添加到页面的滚动位置

更改此行:

    $('#seat_'+id).css({"left":(x+30)+"px","top":(y+10)+"px"});

要:

    $('#seat_'+id).css({"left":(x+30)+"px","top":(y+10)+$(document).scrollTop()+"px"});