Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

164
Vistas
Llamada de función de almacenamiento local que impide que otra función funcione

Hola, tengo un proyecto en el que se muestra onclick of a grid advent windows. Quiero guardar los abiertos de la sesión anterior. Estoy usando el almacenamiento local guardando el div HTML (hijo de la clase de contenedor). Cuando invoco la función, detiene la apertura de otras ventanas. Todo el HTML dentro del contenedor es generado por JS.

 const calendarContainer = document.querySelector(".container"); const calendarDays = 24; const d = new Date(); const todaysDate = d.getDate(); const todaysDatePlusOne = todaysDate + 1; const openDoor = (path, event) => { const dayClicked = event.target.innerHTML; if (dayClicked < todaysDatePlusOne) { event.target.parentNode.style.backgroundImage = `url(${path})`; //binds calendar door click listener event.target.style.opacity = "0"; event.target.style.backgroundColor = "#521751"; } else { //modal pop up with Giff const modal = document.getElementById("myModal"); modal.style.display = "block"; setTimeout(function() { modal.style.display = "none"; }, 2250); return; } let calendarHTML = calendarContainer.innerHTML; // Save the HTML to localStorage to keep doors open on next session localStorage.setItem("doorsOpenedPreviously", calendarHTML); }; const createCalendar = () => { for (let i = 0; i < calendarDays; i++) { const calendarDoor = document.createElement("div"); const calendarDoorText = document.createElement("div"); calendarDoor.classList.add("image"); calendarDoor.style.gridArea = "door" + (i + 1); calendarContainer.appendChild(calendarDoor); calendarDoorText.classList.add("text"); calendarDoorText.innerHTML = i + 1; calendarDoor.appendChild(calendarDoorText); adventWindowNumber = i + 1; let adventPath = `/Images/xmas-images/xmas-${adventWindowNumber}.jpg`; calendarDoorText.addEventListener("click", openDoor.bind(null, adventPath)); } }; const loadPreviousOpenedDoor = () => { // Check for saved wishlist items let saved = localStorage.getItem("doorsOpenedPreviously"); calendarContainer.innerHTML = saved; }; createCalendar(); loadPreviousOpenedDoor();
 <h1>Xmas Advent Calendar 2021</h1> <div class="container"></div> <div id="myModal" class="modal"> <div class="modal-content"> <span class="close">&times;</span> <p>Too early Heidi!!</p> <iframe src="https://giphy.com/embed/LIhO05Vq0d9XqDg2tw" width="480" height="269" frameborder="0" class="giphy-embed" allowfullscreen></iframe> </div> </div> <script src="app.js"></script>

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda