我创建了一些使用jQuery的电影;它由代表电影中每个场景的多个功能组成。有些场景必须比其他场景跑得长。我无法创建整个电影的循环。我试过设置setInterval几种方式,但他们似乎都失败了。让事情变得复杂(至少对我来说),这是幻灯片放映中的内容,理想情况下它会在完成时触发“下一个”按钮。jquery多功能计时和重复
随时敲我使用的每个场景的setTimeout策略是唯一的方法,我可以找出如何让每个函数在下一次运行足够长的时间后运行。我无法弄清楚如何调用每个函数的场景应该运行的时间量,而不是我之前调用下一个函数的当前策略。
谢谢你的方向
我想我需要JavaScript来计算总的时间与价值的setTimeout调用atrAnime(),但我似乎无法得到它的计算和回传。
这里就是我有:
$(document).ready(function(){
atrAnime(2000);
});
function atrAnime(dur){
first();
setTimeout(second, dur);
setTimeout(third, dur += 2000);
setTimeout(forth, dur += 2000);
setTimeout(fifth, dur += 2000);
setTimeout(sixth, dur += 6000);
setTimeout(seventh, dur += 2000);
setTimeout(eighth, dur += 2000);
setTimeout(ninth, dur += 2000);
setTimeout(tenth, dur += 2000);
setTimeout(end, dur += 3000);
};
一些场景例子:
function first(dur){
$('.pcba')
.css({
left: '150px'
})
.show();
$('.pcb_cad')
.css({
left: '275px',
top: '50px'
})
.show();
}
function second(dur){
$('.pcba').fadeOut();
$('.arrows')
.css({
left: '275px',
top: '50px'
})
.fadeIn();
$('.heatGenComps')
.css({
left: '325px',
top: '20px'
})
.fadeIn();
}
编辑 我的新的贫民窟解决方案在atrAnime最后一个函数()的调用:
setTimeout(caller, dur += 2000);
};
然后再一个功能
function caller(){
atrAnime(2000);
}
好点...如果他们都有回调(他们应该),除了重构代码(我不反对),我不知道我怎么可以定义每个场景运行的时间量......除非回调被设置了超时这与我有什么关系?我很欣赏答案,但更大的一块是循环...我编辑我的原始与我使用的新贫民窟解决方案。 – twinturbotom