Показать сообщение отдельно
  #1 (permalink)  
Старый 14.05.2020, 14:17
Аспирант
Отправить личное сообщение для ddro3doff Посмотреть профиль Найти все сообщения от ddro3doff
 
Регистрация: 22.03.2019
Сообщений: 47

Смена стилей нажатием на кнопку
Здравствуйте
На сайте использую данный код для смены стилей css
<link id="dyncss" rel="stylesheet" type="text/css" href=""> 
<script type="text/javascript"> 
function setDynCSS(url) { 
if (!arguments.length) { 
url = (url = document.cookie.match(/\bdyncss=([^;]*)/)) && url[1]; 
if (!url) return ''; 
} 
document.getElementById('dyncss').href = url; 
var d = new Date(); 
d.setFullYear(d.getFullYear() + 1); 
document.cookie = ['dyncss=', url, ';expires=', d.toGMTString(), ';path=/;'].join(''); 
return url; 
} 
setDynCSS(); 
</script>


<img style="cursor:pointer;" src="Ссылка на картинку 1" onclick="setDynCSS('Ссылка на стиль 1.css')"> 
<img style="cursor:pointer;" src="Ссылка на картинку 1" onclick="setDynCSS('Ссылка на стиль 2.css')">


Скрип работает. Меняет фон сайта (светлый/темный) при нажатии на кнопки и запоминает его. Проблема только одна, при выборе светлого фона сайта изначально загружается темный фон (который стоит по умолчанию на сайте) , а потом сам меняется на светлый.
Как можно выполнять js до появления основного стиля сайта?
Подойдет любой другой вариант который не покажет пользователю разницу между стилями при загрузке стиля исполняемого js.
Ответить с цитированием