Javascript 如何在jquery中克服这个问题以获得动画悬停效果?
在下面的链接中,有一个示例。如果我们将鼠标悬停在特定列表中,工具提示将出现并消失,这里没有问题。如果我们在特定列表中继续上下移动鼠标,则工具提示会出现几次(例如,如果我们移动鼠标十次,则工具提示也会出现十次) 如何克服这个问题(即,如果我们将特定列表悬停几次,工具提示应该只出现一次) 我尝试将脚本更改为(通过添加stop()函数)Javascript 如何在jquery中克服这个问题以获得动画悬停效果?,javascript,jquery,html,tooltip,jquery-hover,Javascript,Jquery,Html,Tooltip,Jquery Hover,在下面的链接中,有一个示例。如果我们将鼠标悬停在特定列表中,工具提示将出现并消失,这里没有问题。如果我们在特定列表中继续上下移动鼠标,则工具提示会出现几次(例如,如果我们移动鼠标十次,则工具提示也会出现十次) 如何克服这个问题(即,如果我们将特定列表悬停几次,工具提示应该只出现一次) 我尝试将脚本更改为(通过添加stop()函数) 但它失败了。使用$(“.menu li”)。悬停使工具提示显示一次。您只能指定一个悬停事件,当出现鼠标指针时,该事件将触发。,您不能指定类似“只有在前一个悬停在5秒之
但它失败了。使用$(“.menu li”)。悬停使工具提示显示一次。您只能指定一个悬停事件,当出现
鼠标指针时,该事件将触发。
,您不能指定类似“只有在前一个悬停在5秒之前触发时,此悬停才会触发”。您可以使用该插件指定仅当鼠标在鼠标内停留0.5秒时才触发悬停。使用.stop(true,true)
停止动画
$(document).ready(function(){
$(".menu a").hover(function() {
$(this).next("em").stop(true, true).animate({opacity: "show", top: "-75"}, "slow");
}, function() {
$(this).next("em").stop(true, true).animate({opacity: "hide", top: "-85"}, "fast");
});
});
解释:
.stop(true,true)
将删除排队的动画并立即完成当前动画
clearQueueA布尔值,指示是否将排队的动画作为
好。默认为false
jumpToEndA布尔值,指示是否完成当前
立即播放动画。默认为false
您正在将悬停事件附加到。当您尝试不断向上移动鼠标时,表示您没有在“a”上悬停。这就是为什么工具提示会消失。如果将事件附加到li,因为工具提示是li的一部分,当您将鼠标移到工具提示上时,工具提示不会显示。您能解释一下此脚本中的函数(即“.stop(true,true)”是什么吗?
$(document).ready(function(){
$(".menu a").hover(function() {
$(this).next("em").stop(true, true).animate({opacity: "show", top: "-75"}, "slow");
}, function() {
$(this).next("em").stop(true, true).animate({opacity: "hide", top: "-85"}, "fast");
});
});
.stop( [clearQueue] [, jumpToEnd] )