Node.js 运行循环的计时器
问题已经回答了 注意:我试图将此输出到一个网页,我只使用控制台作为参考。我已经设置了css代码Node.js 运行循环的计时器,node.js,Node.js,问题已经回答了 注意:我试图将此输出到一个网页,我只使用控制台作为参考。我已经设置了css代码 var r_text = ['Hi', 'Go', 'No']; function countdown() { var count = 20; var timerId = setInterval(function() { count--; console.log(count); if(count == 0) {
var r_text = ['Hi', 'Go', 'No'];
function countdown() {
var count = 20;
var timerId = setInterval(function() {
count--;
console.log(count);
if(count == 0) {
console.log(r_text[Math.floor( Math.random() * r_text.length )]);
count = 20;
}
}, 1000);
}
countdown();
不要忘了更新元素ToReceiveWord
的ID选择器以选择页面中的元素
您的原始代码有几个错误:
/r\u randomtext
var名称不匹配李>r\u text
- 在显示文本之前不绘制新的随机值李>
- Math.random()*x中的数组长度错误李>
- 计时器为10秒,而不是要求的20秒
- 使用文字数组语法(更简洁、更短、解释器优化友好)
- 我做了一些数学运算
我还对元素的文本属性进行了特征检测检查。所有现代浏览器都支持
textContent
,这是W3C的标准,我使用innerText
作为旧IE的后备。Chrome支持这两个属性,Firefox只支持textContent
,并且让它在5秒钟后不会消失文本。是的,只要你在控制台中运行,它就不会消失。也许你想把它打印到网页上?是的,我正在打印到网页上!我已经设置了css代码,我只是无法让javascript根据您生成的代码在网页上打印到itso。这会用html打印吗:0
?重构了我的代码并添加了一个演示。我现在在演示中使用了id=“WORD”
,只要HTML的id与getElementById
的参数匹配,就可以使用任何有效的id(WORD、数字和下划线/连字符的组合)。
var r_text = ['Hi', 'Go', 'No'],
textProp = 'textContent' in document.createElement('div') ?
'textContent' :
'innerText',
//update this ID selector to match an element in the page:
elementToReceiveWord = document.getElementById('WORD'),
seconds = 20; //timer in seconds
function countdown() {
var count = seconds;
var timerId = setInterval(function() {
count--;
console.log(count);
if(count == 0) {
var word = r_text[Math.floor( Math.random() * r_text.length )];
elementToReceiveWord[textProp] = word;
setTimeout(function() {
elementToReceiveWord[textProp] = '';
}, 5000);
count = seconds;
}
}, 1000);
}
countdown();