Javascript setTimeout在循环时暂停
我使用setTimeout设置了一个幻灯片放映(Slideshow()),效果很好。我需要将幻灯片放映限制为3次重复,但当我添加while循环(Count())时,它会打印测试1并暂停Javascript setTimeout在循环时暂停,javascript,settimeout,while-loop,Javascript,Settimeout,While Loop,我使用setTimeout设置了一个幻灯片放映(Slideshow()),效果很好。我需要将幻灯片放映限制为3次重复,但当我添加while循环(Count())时,它会打印测试1并暂停 function SlideShow() { setTimeout("document.write('Test 1')", 1500); setTimeout("document.write('Test 2')", 3000); setTimeout("document.write('Test 3')
function SlideShow()
{
setTimeout("document.write('Test 1')", 1500);
setTimeout("document.write('Test 2')", 3000);
setTimeout("document.write('Test 3')", 4500);
}
function Count()
{
var i=0;
do
{
SlideShow();
i++;
}
while (i<=3);
}
函数幻灯片放映()
{
setTimeout(“document.write('test1')”,1500);
setTimeout(“document.write('test2')”,3000);
setTimeout(“document.write('test3')”,4500);
}
函数计数()
{
var i=0;
做
{
幻灯片();
i++;
}
而(我这对我来说很有效:
function slideShow() {
setTimeout("alert('1');", 1500);
setTimeout("alert('2');", 3000);
setTimeout("alert('3');", 4500);
}
function count() {
for(var i=0; i<3; i++) {
slideShow();
}
}
count();
函数幻灯片放映(){
设置超时(“警报('1');”,1500);
设置超时(“警报('2');”,3000);
设置超时(“警报('3');”,4500);
}
函数计数(){
对于(var i=0;i您可以只使用一个超时,如下所示:
<img id="theImg" />
<script>
var cnt = 2,
i = 0,
pics = [
'image1.png',
'image2.png',
'image3.png'
];
function SlideShow(ap){
if(ap[i]){
//set the src of theImg to the item i of the array
document.getElementById('theImg').src = ap[i++];
setTimeout(function(){
SlideShow(ap);
}, 1500);
}else if(cnt--){
i = 0;
SlideShow(pics);
}
}
SlideShow(pics);
</script>
感谢您的努力-它实际上会重复警报1 3次,然后再重复警报2 3次,以此类推-抱歉-Rhys您想要什么?这就是您上面描述的“我需要将其限制为3次重复”抱歉让人费解-我问的是幻灯片放映,重复3次,不是3次显示的同一张图片,然后是一组新图片…-RhysI需要在计时器(at},1500)之后添加一个包含tween例程的字符串。我有变量var1、var2等内的例程。类似于“tween='var'+I;echo tween;”。语法似乎错误,因为它无法运行。如果我手动输入Tween字符串,它可以正常工作,但我需要将每个例程与相应的幻灯片图片相匹配。开始了,为Tween使用了另一个数组