我想在我的网页上显示引号,并且我在一个数组中有 10 个引号quotes[]
。我想通过从数组中随机选择任何 1 个引号来每隔 1 秒更改一次引号。我只想使用 javascript 来执行此操作。
我用过setTimeout
,但一切都搞砸了。任何人都可以帮助我使用我可以使用的虚拟代码或功能。
我想在我的网页上显示引号,并且我在一个数组中有 10 个引号quotes[]
。我想通过从数组中随机选择任何 1 个引号来每隔 1 秒更改一次引号。我只想使用 javascript 来执行此操作。
我用过setTimeout
,但一切都搞砸了。任何人都可以帮助我使用我可以使用的虚拟代码或功能。
使用setInterval
而不是setTimeOut
.
如果您遵循以下链接中指示的内容,应该会像魅力一样工作:
https://developer.mozilla.org/en-US/docs/Web/API/window.setInterval
你应该使用setInterval
. setTimeout
仅用于 1 次执行。
setInterval(function () {
var index = Math.floor(Math.random() * quotes.length)
var quote = quotes[index];
//show it in page
}, 1000);
我建议采用以下方法,使用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);
参考:
用这个 :
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;
}
您当然可以使用 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