Jquery 在X个周期后停止查询动画
在任何地方都找不到这个-或者我找错了问题 我在查询中运行了一个动画,客户端希望它在运行了几次之后停止。我认为最好声明变量,添加到它,并在运行了X个周期后停止,但不知道如何执行。这是基本原则Jquery 在X个周期后停止查询动画,jquery,animation,Jquery,Animation,在任何地方都找不到这个-或者我找错了问题 我在查询中运行了一个动画,客户端希望它在运行了几次之后停止。我认为最好声明变量,添加到它,并在运行了X个周期后停止,但不知道如何执行。这是基本原则 $(function(){ titles(); }); function titles() { var cycles = 0; // ANIMATION START SCRIPT IS IN HERE } function titleSlider() { var cycles = cycles + 1;
$(function(){ titles(); });
function titles() {
var cycles = 0;
// ANIMATION START SCRIPT IS IN HERE
}
function titleSlider() {
var cycles = cycles + 1;
// ANIMATION SCRIPT IS IN HERE
if (cycles = 10) { stop };
}
使用Promissions可以解决这个问题,您只需在函数内部延迟动画调用,并在检查10个周期后在完成时调用相同的函数
$(函数(){
头衔();
});
职能名称(){
var循环=0;
var titleSlider=函数(){
循环++;
$(“#测试”).fadeOut({
“不透明度”:“0”
},1000)。承诺()。完成(函数(){
如果(周期<10){
标题滑块();
}
});
$('测试').delay(1000).fadeIn(1000);
console.log(周期)
}
标题滑块();
}
测试
递归是如何发生的,如果它一次又一次地动画化,那么一定会有某种递归,如果没有看到,就无法告诉您如何在多次重复之后停止该递归iterations@adeneo您可以通过不发起呼叫来实现这一点,除非在之前的呼叫中实现了承诺,这有点像伪序列结构。@OQX-如果它使用承诺,这很好,但是有很多方法可以创建递归,因此需要注释以及OP为什么应该发布实际代码。
function titles() {
var cycles = 0;
// ANIMATION START SCRIPT IS IN HERE
function titleSlider() {
cycles += 1;
// ANIMATION SCRIPT IS IN HERE
$('target element').animate({/*animation properties*/}, function(){
if(cycles != 10){
titleSlider();
}
});
}
titleSlider();
}