看看我的代码在这里,请:http://jsfiddle.net/FVcJz/7/如何停止不断动画
,当我们将鼠标悬停上的文字,我们看到动画。 如果我们将鼠标悬停在文本上5次,该框将被动画5次。 如何在第一个动画未完成时设置阻止4个剩余动画的代码? 我的意思是只有当动画没有被前一个悬停进行时才有动画.. 那么当我们在文本上悬停5次时,动画将只运行1次(如果4个悬停在动画结束之前)
看看我的代码在这里,请:http://jsfiddle.net/FVcJz/7/如何停止不断动画
,当我们将鼠标悬停上的文字,我们看到动画。 如果我们将鼠标悬停在文本上5次,该框将被动画5次。 如何在第一个动画未完成时设置阻止4个剩余动画的代码? 我的意思是只有当动画没有被前一个悬停进行时才有动画.. 那么当我们在文本上悬停5次时,动画将只运行1次(如果4个悬停在动画结束之前)
可以使用stop方法..
$(function() {
$(".tt").hover(function(){
$(".bb").stop().animate({width:'150px'}, 500);
},function() {
$(".bb").stop().animate({width:'100px'}, 500);
});
});
首先你的代码不能正常工作,所以这是正确的代码:jsFiddle
如果我点击n个动画之前停止的时间没有与动画没有问题。你使用了哪个浏览器?
对不起,这里是正确的链接 - > http://jsfiddle.net/FVcJz/6/ 我做了一些改变,但仍然不起作用。 第一次悬停,当箱子动画时,再次悬停。然后在动画完成时悬停。悬停将无法正常工作.. –
是的,当您在动画停止前悬停n次时,该框会生成n次动画..我只想动画一次,因为动画还没有完成! –
如果动画已在进行中,您可以使用jquery'animated'选择器进行测试。
if (!$(".bb").is(':animated'))
{
//no animation yet
$(".bb").animate(...);
}
你没有得到我的问题。你看过链接吗?! –
你没有得到我的答案。你说过“我的意思是只有当动画未进行时才有动画”,并且我告诉过如何检查动画是否正在进行。 – Preli
我想我以不好的方式解释了我的问题。 我的意思是,当您将文字悬停3次时,框的宽度将变为150px,然后变为100px 3次。我希望它在盒子动画中悬停N次时发生1次。 更好的解释: 我希望悬停效果在动画和动画完成时变为禁用,以便启用.. –
意味着这样的事情? $(“.bb”)。hasClass(“started”)) return; $(“。bb”)$(“。tt”)。hover(function(){ “).addClass(”started“); $(”。bb“)。stop()。animate({width:'150px'},500); },function(){ $(” BB “)动画({宽度: '100像素'},500,函数(){ $(”。BB “)。removeClass(” 开始“); }); }); }) ; ' – alessio271288
是的,非常感谢你。<3 –