将.stop(false,true)添加到单行中的更多/所有动画中

时间:2016-07-09 14:50:51

标签: jquery animation

有没有办法在一次打击中对所有动画应用.stop(false,true)

说,在我的global.js中,我希望所有.animatefadeInfadeOut都拥有.stop(false, true)而不必将其白化为每个动画。< / p>

是否有一行代码(或多个)可以添加到文档的开头,自动添加它而不会实际位于每个动画的前面?

而不是:

$('#').stop(false, true).animate({
});
$('.x').stop(false, true).fadeIn();
$('.y').stop(false, true).fadeOut();
$('.z').stop(false, true).fadeIn();

类似的东西:

$wizard_stuff(animate, fadeIn, fadeOut).stop(false, true);
$('#').animate({
});
$('.x').fadeIn();
$('.y').fadeOut();
$('.z').fadeIn();

2 个答案:

答案 0 :(得分:2)

您可以使用jq伪选择器:animated

void turnOffTheLights()
  

说明:选择进度中的所有元素   选择器运行时的动画。

答案 1 :(得分:0)

您可以将其包装在函数中,只需在您需要时在脚本中调用它。您可能需要也可能不需要添加参数,具体取决于您是否需要每次都停止相同元素或选择器上的动画。例如:

function stopAnimations() {
  $('#, .x, .y, .z').stop(false, true);
}

function startAnimations() {
  $('#').animate({
  });
  $('.x, .z').fadeIn();
  $('.y').fadeOut();
}

然后在脚本的其他部分中,您只需拨打startAnimations()即可。这是你想要的东西吗?