我想在我的网页上显示引号,我在数组quotes[]
中有10个引号。我想通过从数组中随机选择任何1引号来每1秒更改一次。我想只使用javascript执行此操作
我使用了setTimeout
,但一切都搞砸了。任何人都可以帮助我使用我可以使用的虚拟代码或函数。
答案 0 :(得分:1)
使用setInterval
代替setTimeOut
。
如果您遵循以下链接中指示的内容,应该像魅力一样工作:
https://developer.mozilla.org/en-US/docs/Web/API/window.setInterval
答案 1 :(得分:1)
您应该使用setInterval
。 setTimeout
仅用于执行一次。
setInterval(function () {
var index = Math.floor(Math.random() * quotes.length)
var quote = quotes[index];
//show it in page
}, 1000);
答案 2 :(得分:1)
我建议使用window.setInterval()
:
var q = ['quote 1', 'quote 2', 'quote 3', 'pick your own note'];
function quoteChange (target, quotes) {
if (!quotes || !target) {
return false;
}
else {
var n = Math.floor(Math.random() * quotes.length),
text = 'textContent' in document ? 'textContent' : 'innerText'
target[text] = quotes[n];
}
}
var change = window.setInterval(function(){
quoteChange(document.getElementById('demo'), q);
}, 1000);
参考文献:
答案 3 :(得分:0)
使用此:
setInterval ( ChangeText, 1000 ); //Function Name,Time to repeat this funcion
function ChangeText(){
var randNumber = Math.floor((Math.random()*10)+1);
var quote = quotes[randNumber];
var String = document.getElementById("LabelName");
String.innerHTML = quote;
}
答案 4 :(得分:0)
您当然可以使用setInterval,或者更好地使用setTimeout,如下所示:
var quotes = ['first', 'second', 'third'];
function updateQuote(){
var selectedIndex = Math.floor(Math.random() * quotes.length);
container.innerText = quotes[selectedIndex];
setTimeout(updateQuote,1000);
}
updateQuote();
此处的工作示例:http://plnkr.co/edit/?p=preview