¿Cómo puedo reescribir este código:
var toggle = document.getElementById("test_switch"); var storedTheme = localStorage.getItem('theme') || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"); if (storedTheme) document.documentElement.setAttribute('data-theme', storedTheme) toggle.onclick = function() { var currentTheme = document.documentElement.getAttribute("data-theme"); var targetTheme = "light"; if (currentTheme === "light") { targetTheme = "dark"; } document.documentElement.setAttribute('data-theme', targetTheme) localStorage.setItem('theme', targetTheme); };así que esto conserva sus marcas de verificación:
<label for="mode_test"> <input type="checkbox" id="test_switch"> </label>Me topé con el código anterior en una publicación de blog que incluía almacenamiento local y (prefiere-color-scheme: oscuro) en su implementación del modo oscuro, simplemente no sé cómo conciliar eso con el uso de casillas de verificación.
Gracias.
Puede acceder al valor de la casilla de verificación con .checked
var toggle = document.getElementById("test_switch"); console.log(toggle.checked) //returns true||falseCon esto, puede verificar fácilmente lo que está verificado actualmente.