jquery悬停定位工作很奇怪

时间:2012-06-28 14:42:22

标签: jquery jquery-ui

我有2个div A& B. div A对两个div的相对包装父级具有绝对位置。 div A位于div B上方,得到div B的位置 - 偏移0 -50。

现在悬停在第一个悬停中运行良好(div A left:561px)但在第二个悬停时它向左移动:1022px。第三次仍然是1022px。 即使在悬停功能上我将左侧重置为0。

$(".longlist").hover(function () {
    $(this).next("div.hoverwrapper").position({
        "my": "center top",
        "at": "center top",
        "offset": "0 -50",
        "of": $(this)
    });
    $(this).next("div.hoverwrapper").css('z-index', '100');
    $(this).next("div.hoverwrapper").animate({
        opacity: "show",
        top: "-75"
    }, "slow");
}, function () {
    $(this).next("div.hoverwrapper").css('z-index', '-1');
    $(this).next("div.hoverwrapper").animate({
        opacity: "hide",
        top: "-10"
    }, "fast");
    $(this).next("div.hoverwrapper").css({
        "top": "0",
        "left": "0"
    });
});



我不明白为什么会这样......

1 个答案:

答案 0 :(得分:1)

$(".longlist").hover(function () {
    $(this).next("div.hoverwrapper").position({
        "my": "center top",
        "at": "center top",
        "offset": "0 -50px",
        "of": $(this)
    });
    $(this).next("div.hoverwrapper").css('z-index', '100');
    $(this).next("div.hoverwrapper").animate({
        opacity: 1,
        top: -75
    }, "slow");
}, function () {
    $(this).next("div.hoverwrapper").css('z-index', '-1');
    $(this).next("div.hoverwrapper").animate({
        opacity: 0,
        top: -10
    }, "fast");
    $(this).next("div.hoverwrapper").css({
        "top": 0,
        "left": 0
    });
});

你不必改变具有不透明度的东西,但如果你把位置作为字符串,它们必须有“px”(0除外),所以top:“ - 75”是没有效的数量,它必须是“ - 75px“或只是数字-75。