Tengo 2 ventanas emergentes en la misma página web.
Cuando alguien haga clic en el enlace "Comprar ahora", se abrirá la "Alerta de compra ahora". Y sé que esto funciona bien con el evento onclick.
Cuando el usuario no hace clic en el botón "Comprar ahora" dentro de X segundos (me estoy tomando 5 segundos en mi ejemplo), entonces debería aparecer la alerta "Emergente de comentarios". Utilicé setTimeout para mostrar la ventana emergente, pero no quiero que aparezca la "Ventana emergente de comentarios" si alguien ya ha hecho clic en el enlace "Comprar ahora".
En este momento, si hago clic en "Comprar ahora", recibo una alerta de "Comprar ahora" y también "Ventana emergente de comentarios".
Quiero mostrar solo una ventana emergente basada en mi acción -> Si hago clic en "Comprar ahora", luego en la alerta Comprar ahora y si no hago clic en el enlace Comprar ahora, de forma predeterminada, "Alerta emergente de comentarios"
¿Cómo puedo dejar de mostrar la "ventana emergente de comentarios" al hacer clic en el botón "Comprar ahora"? Se agradece la ayuda (Nota: probé clearInterval pero no tuve suerte :'( )
function func1() { alert("Buy Now Popup"); } const popup = document.querySelector(".popup"); window.onload = function () { setTimeout(function () { alert("Feedback Popup"); }, 5000); }; <header> <h1>Modal Popup</h1> </header> <div> <a href="#" class="modalButton" data-popup="popupOne" onclick="func1()">Model Popup</a> </div>Este es un pequeño ejemplo de uso de lo que describiste.
El fondo azul aparecerá en 5 segundos si no hace clic en el botón, pero cada clic en el botón restablecerá la hora.
var btnTimeout = null; function resetTimeout(){ btnTimeout = setTimeout(() => { // do whatever you want to do when time comes document.body.style.background = "blue"; }, 5 * 1000); // example of 5 seconds for faster response (change to 60) } function doSomething(){ if(btnTimeout){ clearTimeout(btnTimeout); } resetTimeout(); // do whatever you want to do when click the btn document.body.style.background = "red"; } resetTimeout(); <button onclick="doSomething()">Buy now (prevent blue from showing)</button>