jquery:即使在我使用单击事件隐藏 div 后也会触发 mouseout 事件

发布于 2024-10-12 10:32:16 字数 491 浏览 10 评论 0原文

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消失了,但是当你移动鼠标时它会再次出现。我认为问题在于 mouseout 事件被触发,但我一生都不知道如何解决它。有什么想法吗?

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()
});

so thats my code, the problem is when the click event is triggered all is fine, na dissapears but the moment you move your mouse it reappers again. I figured the problem is that the mouseout event is being triggered, but for the life of me cant figure out how to fix it. any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

或十年 2024-10-19 10:32:16

在 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)
    }
});

Inside the mouseout method, check if the "na" is visible or hidden. If it is hidden, dont do anything, else you can do the animate.

EDIT:

Try your mouseout method like this:

jQuery("#na").mouseout(function(){
    if(jQuery("#na").is(":visible")){
       jQuery("#na").stop()
       jQuery("#na").animate({width:"244px",height:"152px", left:0, top:0}, 200)
    }
});
ヤ经典坏疍 2024-10-19 10:32:16
jQuery("#na").click(function(e)
{   
    e.stopPropagation();
    jQuery("#na").hide()
    jQuery("#back").show()
});

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

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

I am not sure if this would work.. Theoretically this should stop the propogation of the mous ent but i am not sure if it only stop the click event being propogated!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文