这是我的代码:
<script>
window.addEvent('domready', function(){
new Request.Stocks({
stocks: ['SXCL'],
onComplete: function(yahoo){
var result = '';
Array.each(Array.from(yahoo.query.results.quote), function(quote){
result += '<div class="company-ticks"></div>
<span class="company">Steel Excel ({Name})</span>
<span class="sub-info"> - OTC Markets<span> </div> <div><span class="value">
{LastTradePriceOnly}</span><span class="changeup">
<img src="change-up.gif" class="change-img" />{Change}
({ChangeinPercent})</span></div></div>'.substitute(quote);
}, this);
$('stocks').set('html', result);
},
onRequest: function(script){
$('stocks').set('text', 'Loading...');
}
}).send();
// Request.Stocks.element.js
});
</script>
你看到我在哪里有变量{Change]。我需要确定这个变量是正值还是负值。如果它是正数,那么它应该将类显示为“changeup”,将图像显示为change-up.gif。如果值为负,则显示的类应为“已更改”,图像将为change-down.gif
图像是向上的绿色箭头和向下的红色箭头。这些类使颜色成为红色和绿色之间的颜色。
因为这是在使用函数调用的数组中,所以我不知道如何解决这个问题。我想我必须把我的“结果”分成3个部分。前面的部分,设置类和图像的部分,然后是结果的其余部分。
任何帮助将不胜感激。
这使用带有mooTools的Javascript。它正在拉动雅虎股票报价。
答案 0 :(得分:2)
我假设Change
变量是quote
对象的属性。否则,这在下面的代码中是一个简单的修复。
Array.each(Array.from(yahoo.query.results.quote), function (quote) {
quote.changeImage = (quote.Change > 0) ? 'change-up.gif' : 'change-down.gif';
result += '<div class="company-ticks"></div>
<span class="company">Steel Excel ({Name})</span>
<span class="sub-info"> - OTC Markets<span> </div> <div><span class="value">
{LastTradePriceOnly}</span><span class="changeup">
<img src="{changeImage}" class="change-img" />{Change}
({ChangeinPercent})</span></div></div>'.substitute(quote);
}, this);
请注意,在您正在做的HTML中生成HTML有点冒险且难以维护。