Я полагаю, это проблема в том, что вы использовали знак ===
, а когда вы установили значение darkmode
, вы присвоили ему значение «true», но вы проверили, является ли оно «true», поэтому эти две вещи не совпадают, если Вы используете ===
знак.
Я думаю, что вы можете написать так:
Установить значение:
//Switch light/dark
$("#switch").on('click', function() {
if ($("body").hasClass("dark")) {
//removes dark mode
$("body").removeClass("dark");
$("#switch").removeClass("switched");
sessionStorage.setItem("darkmode", false);
}
else {
$("body").addClass("dark");
$("#switch").addClass("switched");
sessionStorage.setItem("darkmode", true);
}
});
Проверить значение:
onload = function() {
if(sessionStorage.getItem("darkmode")) {
sessionStorage.getItem("darkmode");
$( "body" ).addClass( "dark" );
$("#switch").addClass("switched");
sessionStorage.setItem("darkMode", true);
}
}
Попробуйте использовать тот же знак, если вы установите знак "
, тогда получите знак "
вместо '
.