以jquery为中心的悬停泡沫

时间:2012-06-19 20:53:18

标签: jquery

当用户将鼠标悬停在红色框上时,我想用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上。

1 个答案:

答案 0 :(得分:0)

是的,除以2会让你几乎到达那里。但要知道这将使它与它的起点相关,这恰好与上面红框的左侧相匹配。 我假设你试图以盒子的中心为中心,如果是这样,你还需要考虑盒子的宽度除以2。

我修改了以下一行,它看起来很好:

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

- 编辑 -

我已经切换到使用outerWidth()而不是width(),因为我注意到你在第三个按钮上有填充。不确定你是否想要考虑到这一点。