Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

313
Visualizações
¿Por qué mi tema claro se restablece después de recargar la página?

Como puede ver, lo almaceno en localStorage, funciona bien. El problema surge cuando vuelvo a cargar la página, se restablece al tema principal (oscuro).

 let lightMode = localStorage.getItem("theme") const lightModeToggle = document.querySelector(".moon-white"); const enableLightMode = () => { document.body.classList.add("light-theme"); localStorage.setItem("theme", "enabled"); }; const disableLightMode = () => { document.body.classList.remove("light-theme"); localStorage.setItem("theme", null); }; lightModeToggle.addEventListener("click", () => { lightMode = localStorage.getItem("theme"); if (lightMode !== 'enabled') { enableLightMode(); } else { disableLightMode (); } });
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Creo que te falta document.onload listener para leer el tema actual de localStorage y luego configurarlo en el documento cuando se carga en DOM.

 let lightMode = localStorage.getItem("theme") const lightModeToggle = document.querySelector(".moon-white"); const enableLightMode = () => { document.body.classList.add("light-theme"); localStorage.setItem("theme", "enabled"); }; const disableLightMode = () => { document.body.classList.remove("light-theme"); localStorage.setItem("theme", null); }; lightModeToggle.addEventListener("click", () => { lightMode = localStorage.getItem("theme"); if (lightMode !== 'enabled') { enableLightMode(); } else { disableLightMode(); } }); document.addEventListener("load", () => { if (lightMode === 'enabled') { enableLightMode(); } else { disableLightMode(); } });

Actualización: ¡Use onload para load evento!

about 4 years ago · Juan Pablo Isaza Relatório

0

Funciona, pero en lugar de usar document.addEventListener("onload", () => , usé:

 window.addEventListener('load', (event) => { lightMode = localStorage.getItem("theme"); if (lightMode === 'enabled') { enableLightMode(); } else { disableLightMode(); } });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda