Lo que quiero hacer es hacer una pregunta rápida si quiero continuar (después del resultado de la temperatura) o no, si no, salgo de la página BUTTT cada vez que pongo un aviso o una alerta, aparecen primero en lugar del valor de la temperatura.
const result = document.querySelector(".result") /// button const change = document.querySelector(".change") /// button const screen = document.querySelector(".ctF") //h1 const tscreen = document.querySelector(".screen") ///h1 const dta = [{ index: 1, message: "Celcius to Fahrenheit" }, { index: 2, message: "Fahrenheit to Celcius" }] let num = 0 let iV = 1 change.addEventListener("click", () => { num++ if (num > dta.length - 1) { num = 0 } t(num) }) function t(ss) { let item = dta[ss] let message = item.message let index = item.index iV = index tscreen.innerHTML = message screen.innerHTML = "Temperature" } result.addEventListener("click", changeTemp) function changeTemp() { const value = document.querySelector(".input").value ///input let numbaW = 1 let numbaT = 2 if (numbaW == iV) { let cetFa = value * (1.8) + 32 screen.innerHTML = Math.round(cetFa) + "°F" window.addEventListener("message") } else if (numbaT == iV) { let fatCe = ((value - 32) * 5) / 9 screen.innerHTML = Math.round(fatCe) + "°C" } }tanto el prompt como la alert están deteniendo el ciclo de eventos de JavaScript.
Esto significa que mientras el usuario no haga clic en "Aceptar", no se procesarán las modificaciones del DOM.
La solución será prompt al usuario después de un tiempo de espera.
Usualmente
setTimeout(() => { let value = prompt("What's the value?"); alert(`Value: ${value}`); });debería hacer el truco para usted.