我这里有一个jsfiddle - http://jsfiddle.net/5z2vu47a/
这是一个简单的计时器,应该更改取自和数组
的文本计时器只能工作一次。
为什么计时器无法继续工作。
var name_arr = ['learn', 'product', 'buying', 'selling', 'marketing', 'managing', ];
var counter = 0;
function names(){
alert(counter);
$('.text p').text(name_arr[counter]);
counter++;
alert(counter);
}
setTimeout(names, 1000);
答案 0 :(得分:2)
您需要使用setInterval
setInterval(names, 1000);
在names
功能中,还要检查计数器值是否不应超过name_arr.length
。
function names(){
alert(counter);
$('.text p').text(name_arr[counter]);
if(counter<(name_arr.length-1))
counter++;
else
counter=0;
alert(counter);
}
答案 1 :(得分:1)
setTimeout
仅运行一次
如MDN WindowTimers.setTimeout()
在指定的延迟后调用函数或执行代码段。
setInterval
以间隔运行,间隔指定的延迟。
如MDN WindowTimers.setInterval()
重复调用函数或执行代码片段,每次调用该函数之间都有固定的时间延迟。返回intervalID。
所以,setInterval
将永远运行,除非你用clearInterval
打破它。
function doStuff() {
// Doing ome nice and fancy stuff here...
}
var interval = setInterval(doStuff, 1000);
// this will stop the interval loop
clearInterval(interval);
答案 2 :(得分:0)
您使用setTimeout
,等待1秒然后执行您的功能。
您想要setInterval