3
jQuery("#na").mouseover(function()
{
    jQuery("#na").animate({width:"325px", height:"203px", left:"-40px", top:"-25px"}, 200)
});

jQuery("#na").mouseout(function()
{
    jQuery("#na").stop()
    jQuery("#na").animate({width:"244px",height:"152px", left:0, top:0}, 200)
});

jQuery("#na").click(function()
{
    jQuery("#na").hide()
    jQuery("#back").show()
});

所以这就是我的代码,问题是当点击事件被触发时一切都很好,na dissapears 但是当你移动鼠标时它会再次出现。我认为问题是触发了 mouseout 事件,但对于我来说,我无法弄清楚如何解决它。有任何想法吗?

4

2 回答 2

0

在 mouseout 方法中,检查“na”是可见还是隐藏。如果它是隐藏的,不要做任何事情,否则你可以做动画。

编辑:

试试你的 mouseout 方法,如下所示:

jQuery("#na").mouseout(function(){
    if(jQuery("#na").is(":visible")){
       jQuery("#na").stop()
       jQuery("#na").animate({width:"244px",height:"152px", left:0, top:0}, 200)
    }
});
于 2011-01-19T08:30:21.740 回答
0
jQuery("#na").click(function(e)
{   
    e.stopPropagation();
    jQuery("#na").hide()
    jQuery("#back").show()
});

我不确定这是否可行。理论上这应该会停止传播鼠标,但我不确定它是否只会停止传播点击事件!

于 2011-01-19T10:13:36.193 回答