В настоящее время я хотел бы прочитать цвет фона css через javascript, чтобы обновить холст с желаемым цветом. До сих пор я заставить его работать, создавая фиктивный объекта в HTML, который содержит, что CSS, из которого я могу читать:Загрузить значение свойства CSS через javascript
Содержание CSS:
.logmessage-debug {
color: #fff;
background-color: #999999;
}
.logmessage-info {
color: #fff;
background-color: #5cb85c;
}
.logmessage-warn {
color: #fff;
background-color: #f0ad4e;
}
.logmessage-error {
color: #fff;
background-color: #d9534f;
}
.logmessage-fatal {
color: #fff;
background-color: #d955d9;
}
HTML-часть:
<canvas id="myCanvas" width="200" height="200"></canvas>
<!-- The dummy objects allowing access to the css properties -->
<div id="debug" class="logmessage-debug"></div>
<div id="info" class="logmessage-info"></div>
<div id="warn" class="logmessage-warn"></div>
<div id="error" class="logmessage-error"></div>
<div id="fatal" class="logmessage-fatal"></div>
<script type="text/javascript">
updateCanvas();
</script>
JavaScript часть:
function updateCanvas() {
$.ajax({
url: "api/myWebService",
success: function (severityLevel) {
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = getSeverityColorFromStyle(severityLevel);
ctx.fillRect(0, 0, c.clientWidth, c.clientHeight);
},
complete: function() {
setTimeout(updateCanvas, 2000);
}
})
}
function getSeverityColorFromStyle(styleName) {
// Any other way to read the css background color
// directly instead of asking the dummy object?
return $("#" + styleName).css("background-color");
}
до сих пор выше как работает, и я могу получить желаемые цвета, которые мне нравятся. Но мне неудобно добавлять эти фиктивные объекты, чтобы получить доступ к необходимым значениям css. Существует ли прямо способ извлечь эти значения из css?
Будет ли это работать, если в _ _ документе_ _ _ _ document_, который соответствует '.class', нет _Nodes_, но для этого существует правило _CSS_? –
Я так не думаю, потому что он еще не существует как элемент в dom –
-1: Это работает только в том случае, если объекты-заглушки создаются на странице html. Если вы их удалите, вы получите «неопределенный». – Oliver