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 に答える