【发布时间】:2015-09-11 05:59:25
【问题描述】:
我需要创建一个将整数放入数组的系统。但我有一个问题。当我单击 div 时,它可以工作,但是当我再次单击时,计时器会快两倍。我怎样才能防止这个问题?
代码:
// JavaScript Document
// DIT STUK ZORGT VOORT HET CLICK EVENT BIJ FUNCTION INIT
function addListener(element, type, expression, bubbling) {
if(window.addEventListener) { // Voor alle !IE browsers
element.addEventListener(type, expression, bubbling);
return true;
} else if(window.attachEvent) { // Voor oude IE versies
element.attachEvent('on' + type, expression);
return true;
} else {
return false; }
}
var mijnArray = [];
var Timer;
// Bij het laden van de pagina
function init ()
{
addListener (document.getElementById("resultaat"), 'click', startTimer, false);
}
// Deze functie start wanneer er double geklikt is op de div
function startTimer ()
{
//alert('test');
Timer = setInterval(function(){myTimer()},100);
}
function myTimer ()
{
// uitvoeren zolang aantal items kleiner is als 11
if (mijnArray.length < 10)
{
mijnArray.push(Math.floor((Math.random() * 10) + 1));
console.log(mijnArray);
document.getElementById('resultaat').innerHTML = mijnArray;
}
else
{
clearInterval(Timer);
}
}
window.onload = init;
【问题讨论】:
-
你能把你的代码提炼成最小的吗?
标签: javascript html arrays function timer