Я использую этот скрипт, чтобы позволить пользователю изменять цвет фона...
document.onclick = function SetFavColor(e) {
if (e.target.className == 'AvcGbtn') {
var favColor = e.target.style.backgroundColor;
localStorage.setItem('color', favColor);
document.body.style.backgroundColor = favColor;
console.log(favColor);
}
};
document.addEventListener('DOMContentLoaded', function GetFavColor() {
var favColor = document.body.style.backgroundColor;
var color = localStorage.getItem('color');
if (color === '') {
document.body.style.backgroundColor = favColor;
} else {
document.body.style.backgroundColor = color;
}
});
CSS:
body {
max-width: 100%;
min-width: 100%;
height: 100%;
font-family: normal;
font-style: normal;
font-weight: normal;
background-color: transparent;
}
.AvcGbtn {
display: inline-block;
width: 2em;
height: 2em;
}
HTML:
<span class="AvcGbtn" style="background: #ffffff; background-size: 100% 100%;" rel="nofollow"></span>
<span class="AvcGbtn" style="background: #757575; background-size: 100% 100%;" rel="nofollow"></span>
Это работает, но проблема в том, что он показывает выбранный цвет после полной загрузки страницы. Я хочу показать цвет, который пользователь выбирает до загрузки страницы.
Пример: цвет фона белый, и пользователь выбирает красный. Сценарий показывает белый цвет фона перед выделением, а после того, как пользователь выбирает красный, сценарий меняет цвет фона на красный. Как я могу это сделать?
Это именно то, что я пытаюсь сделать с Javascript, пример CSS
body:before {
background-color: red;
}