gpt4 book ai didi

javascript - 在当前触发期间停止触发 jQuery 事件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:21:45 24 4
gpt4 key购买 nike

我真的很生气!基本上,我有一个 div,它最终会有一个小菜单,当您将鼠标悬停在另一个 div 上时,这个小 div 会向下移动到 View 中并变得可见(mouseout 导致相反)。

这一切都很好地工作,除了如果我非常快地鼠标悬停和鼠标移出,我会闪烁(我假设 jQuery 队列正在 catch )。

所以基本上,有没有办法阻止这种情况发生?你能告诉 jQuery 类似“在这个时间点,在当前队列完成之前不要排队任何其他东西”吗?

我对 jQuery 还是比较陌生。我下面的代码在我看来应该可以工作,但似乎并没有停止添加队列!请原谅在这种情况下完全不必要地愚蠢地使用 x++/y++,这只是我在发帖之前尝试的最后一件事。

有人能帮忙吗?

var x = 0;
var y = 0;

function hideme()
{
if (x == 0 && y == 0)
{
x++;
$(unimenu).fadeOut('slow');
$(unimenu).animate({top: "-40px" }, {queue: false, duration: 'slow'});
x = 0;
}
}

function showme()
{
if (y == 0 && x == 0)
{
y++
$(unimenu).fadeIn('slow');
$(unimenu).animate({top: "40px" }, {queue: false, duration: 'slow'});
y = 0;
}
}

最佳答案

我想你要找的是stopstop 将停止之前的动画。如果您在开始下一个动画之前停止上一个动画,则可以避免排队导致问题的大量动画。

http://api.jquery.com/stop/

您提到 jquery 悬停页面上的演示存在问题。请停止查看该演示的修改版本。注意它是如何没有问题的:

http://jsfiddle.net/WskXt/

关于javascript - 在当前触发期间停止触发 jQuery 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5998626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com