我正在创建一个文本生成器,该生成器一次从上到下依次遍历数组字符串,每次按下按钮时更改为下一个字符串。下面的函数按顺序循环遍历字符串,但是只要按一下按钮,它就会重复执行所有字符串。如何告诉函数等待再次显示按钮之前显示下一个字符串?
function newThing() {
var i = 0;
setInterval(function() {
document.getElementById('thingDisplay').innerHTML = oddthing[i++];
if (i == oddthing.length) i = 0;
}, newThing.active);
}
var oddthing = [
'<p>111111111</p>',
'<p>222222222</p>',
'<p>333333333</p>',
'<p>444444444</p>',
'<p>555555555</p>',
'<p>666666666</p>',
'<p>777777777</p>',
'<p>888888888</p>',
'<p>999999999</p>'
]
<div>
<div align="center" id='thingDisplay'></div>
</div>
<div>
<button class="box" id="button01" onclick="newThing()">New Thing</button>
</div>
<script src="javascript.js"></script>
这是一种方法:
var oddthing = [
'<p>111111111</p>',
'<p>222222222</p>',
'<p>333333333</p>',
'<p>444444444</p>',
'<p>555555555</p>',
'<p>666666666</p>',
'<p>777777777</p>',
'<p>888888888</p>',
'<p>999999999</p>'
]
// add a global counter
var count = 0;
function newThing() {
document.getElementById('thingDisplay').innerHTML = oddthing[count];
count++;
if (count >= oddthing.length) count = 0;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句