Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   добавление <style> (https://javascript.ru/forum/events/61928-dobavlenie-style.html)

innowed 16.03.2016 11:34

добавление <style>
 
Чисто в исследовательских целях хочу добавить на какой-нибудь сайт стиль через js
var test = document.createTextNode('@keyframes rotate-colors {100%{-webkit-filter:hue-rotate(360deg);}}html, body{animation:rotate-colors 2s linear infinite;}');  //css стиль

var st=document.createElement('style');  //создание элемента для записи css

st.appendChild(test);  //засовываем css в style

document.head.appendChild(st); //помещаем style в DOM


Эти манипуляции я делаю через консоль, всё встаёт в head как надо, но стиль через js не применяется (но если прописать в html или css, то всё ок, дискотека работает).
Нужно ли как-то активировать вставленный через js стиль?

Dilettante_Pro 16.03.2016 17:44

innowed,
Попробуйте вместо

var test = document.createTextNode('@keyframes rotate-colors {100%{-webkit-filter:hue-rotate(360deg);}}html, body{animation:rotate-colors 2s linear infinite;}');  //css стиль
.......
st.appendChild(test);  //засовываем css в style


использовать
var test = '@keyframes rotate-colors {100%{-webkit-filter:hue-rotate(360deg);}}html, body{animation:rotate-colors 2s linear infinite;}';  //css стиль
........
st.innerHTML = test;


а поподробнее - http://professorweb.ru/my/javascript...level2/2_4.php , в самом низу страницы

innowed 17.03.2016 09:05

с утра чёт заработало, магия)
За ссылку спасибо


Часовой пояс GMT +3, время: 07:45.