А причем тут код блока погоды?
В общем так, если так как на картинке отображать курс, то можно это решить, например, посредством пседоэлементов :before/:after. Так как цвет стрелок вверх/вниз разный, то структура json, которую отдает сервер не годится. Выгоднее возвращать признак роста/падения курса.
В файле current.php измените вот эти две строки кода, на указанные:
//было
'rate' => $usd_curr > $usd_prev ? '▲' : '▼'
//заменить на
'rate' => intval($usd_curr > $usd_prev)
//было
'rate' => $usd_prev > $last ? '▲' : '▼'
//заменить на
'rate' => intval($usd_prev > $last)
Добавить в файл стилей следующие правила:
/*общие правила для элементов отображающих курс*/
span[class|=rate] {
display: block;
text-align: center;
padding: 3px 0;
color: #000;
font-weight: bold;
}
/*правила для знака доллара*/
span[class|=rate]:before {
margin-right: 10px;
content: "$";
}
/*общие правила для стрелок*/
span[class|=rate]:after {
margin-left: 10px;
}
/*правила для стрелки вверх*/
.rate-1:after {
content: "▲";
color: #BC0101;
}
/*правила для стрелки вниз*/
.rate-0:after {
content: "▼";
color: #089301;
}
То есть, что будет в качестве стрелок и знака доллара задается в стилях, а какая стрелка будет отображена определяется именем класса, который определяется динамикой курса.
Код блока вывода:
<div id="usd" class="">
<span id="current" class="rate-0"></span>
<span id="previous" class="rate-0"></span>
</div>
JS код вывода:
$.getJSON("http://domain_1", function(data) {
$.each(data, function(k, o) {
$('#'+k).text(o.value).attr('class', function() {
return this.className.replace(/\d/, o.rate)
})
})
});
На что нужно заменить
http://domain_1, думаю пояснять больше не надо.