Estoy tratando de hacer un juego de preguntas para una clase y parece que no puedo encontrar el problema.
function askQuestions(random) {
var random = math.floor(math.random() * testQuestions.length);
var start = document.getElementById(testStart);
start.addEventListner('click', askQuestions);
if (start) {
document.write(random);
}
return;
}
Esta es la función y tengo una matriz de objetos, a la que se hace referencia en la variable "aleatoria". Estoy totalmente perdido y sé que me estoy perdiendo algo simple. El propósito de esta función es mostrar una pregunta aleatoria de la matriz testQuestions .
Math es un objeto global y comienza con una M mayúscula
Math.floor
Está agregando el detector de eventos dentro de la función. La función solo se ejecutará si la llama, por lo que nunca se agregará el detector de eventos. Además, document.write() sobrescribirá toda la página. Lo cambié para usar document.createElement() y document.body.appendChild() . Cambia tu código a este:
function askQuestions(random) {
var random = Math.floor(Math.random() * testQuestions.length);
var el = document.createElement('p');
el.textContent = random.toString();
document.body.appendChild(el);
}
var start = document.getElementById(testStart);
start.addEventListner('click', askQuestions);