1

ユーザーが赤いボックスにカーソルを合わせたときに、jquery でポップアップ バブルを表示したいと思います。問題は、実験しただけで噛み合ったコードです...意味がありません!

http://jsfiddle.net/PKzsS/

$(window).load(function() {
    $("#headloginuser ul li a").hover(function() {
        divW = $(this).next("div").width()/4;
        $(this).next("div").css({marginLeft: -divW }).animate({ opacity: "show" }, "fast");
    }, function() {
        $(this).next("div").animate({opacity: "hide"}, "fast");
    });
});

これは多かれ少なかれ、もちろん完璧ではありません:)しかし、私は幅を4で割っています!2で割ればいいんじゃないの?だから私は隠しdivの半分の幅を持っていて、それを正確にその長さだけ左に移動しますか?

よくわかりません :)

S.

4

1 に答える 1

0

はい、2 で除算すると、ほぼそこに到達します。ただし、これにより、開始点に対して中央に配置されることに注意してください。これは、たまたま上の赤いボックスの左側と一致します。ボックスの中心に対して中央に配置しようとしていると思います。そうであれば、ボックスの幅を 2 ​​で割った値も考慮する必要があります。

次の行を変更したところ、問題なく中央に表示されたようです。

divW = ($(this).next("div").width() / 2) - ($(this).outerWidth() / 2);

- 編集 -

3番目のボタンにパディングがあることに気付いたので、outerWidth()代わりに使用に切り替えました。width()あなたがそれを説明したいかどうかはわかりません。

于 2012-06-19T21:38:04.367 に答える