0

私は2つのdivAとBを持っています。divAは、両方のdivの相対的なラッパーの親に対して絶対的な位置にあります。div Aは、divBの位置を取得してからdivBの上に配置されます-オフセット0-50。

現在、ホバーは最初のホバー(div A左:561px)で正常に機能していますが、2番目のホバーでは左:1022pxになります。3回目はまだ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"
    });
});



なぜ起こっているのかわかりません...

4

1 に答える 1

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。

于 2012-06-28T14:49:35.717 に答える