allposts_vitali
@allposts_vitali

Как по условию JS добавить CSS?

Здравсвтвуйте, есть код:
o = function () {
e(".panel-row-style[style^='color'], .panel-row-style[style*='; color']").find("h1,h2,h3,h4,h5,h6,a,.fa, div, span").css("color", "inherit"),
e(".panel-row-style[style*='background-image']").append('')
}
Мне нужно добавить условие, что если background-image существует, то добавить в файл CSS style.css
в .panel-row-style строчки:
width: auto;
height: 1000px;

.panel-row-style {
background-size: 100% 100%;
background-repeat: no-repeat;
position: relative;
background-attachment: scroll;
background-position: top center!important;
overflow: visible;
}
Как это можно реализовать?
  • Вопрос задан
  • 915 просмотров
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Не совсем понятно, что подразумевается под «background-image существует», но если это то, о чем я думаю, то вот так:
var img = new Image();
img.onerror = function () { // сработает, если картинка не загрузилась
    // манипуляции со стилевыми таблицами
}
img.src = backgroundImageUrl; // адрес картинки, существование которой надо проверить


Что касается манипуляций с таблицами стилей, то вот пара ссылок с примерами:
davidwalsh.name/add-rules-stylesheets
www.quirksmode.org/dom/changess.html

Но, мне кажется, можно проще поступить: если картинка не загрузилась, то добавляем нужному элементу класс типа
.missing-image {
    width: auto;
    height: 1000px;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dohera
Фронтенд разработчик
if(element1.css.backgroudImage){
element2 = document.querySelector(".panel-row-style")
element2.css.width = "auto";
element2.css.height = "1000px";
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы