Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Solución al desafío: hora de practicar

Mi solución para el desafío, primero en mi HTML le doy un evento OnClick con una función a cada botón para cada desafío:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>
<body>
    <header>
        <h1></h1>
    </header>
    <main class="container">
        <button onclick="BotonConsole();" class="button">Console</button>
        <button onclick="BotonAlert()" class="button">Alert</button>
        <button onclick="BotonPrompt()" class="button">Prompt</button>
        <button onclick="BotonSuma()" class="button">Suma</button>
    </main>

      <script src="app.js"></script>
</body>
</html>

Y en mi archivo JS uso document.querySelector para darle un texto a la etiqueta h1, y luego declaro las funciones que se llamaran en el HTML:

let titulo = document.querySelector('h1');
titulo.innerHTML = 'Hora del Desafío';

function BotonConsole() {
    console.log("El botón fue clicado");
}

function BotonPrompt(){
    let ciudad = prompt("Mencione una ciudad de Brasil");
    alert(`Estuve en ${ciudad} y me acordé de ti`);
}

function BotonAlert(){
    alert ("Yo amo JS");
}

function BotonSuma(){
    alert ("Vamos a sumar dos numeros");
    let Num1 = parseInt(prompt("Dime el primero numero:"));
    let Num2 = parseInt(prompt("Dime el segundo numero:"));
    let suma = Num1 + Num2;
    alert (`La suma entre ${Num1} y ${Num2} es ${suma}`);
}
1 respuesta

¡Hola Alan!

Entiendo que estás tratando de resolver el desafío "Hora de practicar" en tu curso de Lógica de programación. Parece que estás teniendo problemas con la ejecución de las funciones al hacer clic en los botones.

Después de revisar tu código, parece que estás utilizando los eventos onclick correctamente en tu HTML para llamar a las funciones en tu archivo JavaScript. Sin embargo, es importante asegurarse de que las funciones estén definidas antes de que se llamen en el HTML. En tu caso, parece que estás definiendo las funciones antes de que se llame a titulo.innerHTML = 'Hora del Desafío';, lo que podría estar causando el problema.

Intenta reorganizar tu código JavaScript de la siguiente manera:

let titulo = document.querySelector('h1');
titulo.innerHTML = 'Hora del Desafío';

function BotonConsole() {
    console.log("El botón fue clicado");
}

function BotonPrompt(){
    let ciudad = prompt("Mencione una ciudad de Brasil");
    alert(`Estuve en ${ciudad} y me acordé de ti`);
}

function BotonAlert(){
    alert ("Yo amo JS");
}

function BotonSuma(){
    alert ("Vamos a sumar dos numeros");
    let Num1 = parseInt(prompt("Dime el primero numero:"));
    let Num2 = parseInt(prompt("Dime el segundo numero:"));
    let suma = Num1 + Num2;
    alert (`La suma entre ${Num1} y ${Num2} es ${suma}`);
}

Asegúrate de que este código esté ubicado antes de la etiqueta <script src="app.js"></script> en tu archivo HTML para que las funciones estén definidas antes de que se llamen.

Espero que esto te ayude a resolver tu problema. ¡Buena suerte con el desafío!

Espero haber ayudado y buenos estudios!