0

这是我的代码:

    <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。如果值为负,则显示的类应为“changedown”,图像为 change-down.gif

图像是向上的绿色箭头和向下的红色箭头。这些类使颜色在红色和绿色之间交替。

因为这是在使用函数调用的数组中,所以我不知道该怎么做。我想我必须将我的“结果”分成 3 个部分。前面的部分,设置类和图像的部分,然后是结果的其余部分。

任何帮助,将不胜感激。

这使用带有 mooTools 的 Javascript。它正在从雅虎获取股票报价。

4

1 回答 1

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 有点冒险且难以维护。

于 2013-04-20T06:35:16.190 回答