javascriptの質問です。


https://finance.google.com/finance/info?q=NYSE:IBM
例えば上記の値を表示することは、海外の掲示板で発見した以下のコードで出来ました。
(WP内なのでjQueryの表示になっています)

jQuery(document).ready(function(){
jQuery.getJSON('https://finance.google.com/finance/info?q=NYSE:IBM&callback=?',function(response){
var stockInfo = response[0];
var stockString ='<div class="stockWrapper">';
stockString +='<span class="stockSymbol">'+stockInfo.t+'</span>';
stockString +='<span class="stockPrice">'+stockInfo.l+'</span>';
stockString +='<span class="stockChange">'+stockInfo.c+'</span>';
stockString +='<span class="stockPer"> ('+stockInfo.cp+')</span>';
stockString +='<span class="stockTime">'+stockInfo.ltt+'</span>';
stockString +='</div>';
jQuery('.stockTick_dow').prepend(stockString);
});

ここで質問なのですが、
https://finance.google.com/finance/info?q=NYSE:IBM,NASDAQ:AAPL
上記のように複数を指定して表示するにはどうしたらいいでしょうか?
foreachとかそういったものを使うのでしょうが、やり方がわからずにいます。
stockChangeが0より大きければ青色、0より小さければ赤色という処理も加えたいです。
どうかご教授ください。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2014/11/21 23:43:56
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4974ベストアンサー獲得回数2154

ポイント200pt

こんな感じになると思います。

jQuery(document).ready(function(){
    jQuery.getJSON('https://finance.google.com/finance/info?q=NYSE:IBM,NASDAQ:AAPL&callback=?',function(response){
        for (var i in response) {
            var stockInfo = response[i];
            var stockChange = parseFloat(stockInfo.c);
            var st;
            if (stockChange > 0) {
                st = 'style="color:blue;"'
            } else if (stockChange < 0) {
                st = 'style="color:red;"'
            }
            var stockString ='<div class="stockWrapper">';
            stockString +='<span class="stockSymbol">'+stockInfo.t+'</span>';
            stockString +='<span class="stockPrice">'+stockInfo.l+'</span>';
            stockString +='<span class="stockChange" ' + st + '>'+stockInfo.c+'</span>';
            stockString +='<span class="stockPer"> ('+stockInfo.cp+')</span>';
            stockString +='<span class="stockTime">'+stockInfo.ltt+'</span>';
            stockString +='</div>';
            jQuery('.stockTick_dow').prepend(stockString);
        }
    });
});

stockChange が、ちょうど 0 だった場合には、デフォルト(黒)です。

id:dekapurio

思ったとおりの動きでした。
有難うございます!

2014/11/21 23:43:38
id:a-kuma3

どういたしまして :-)

2014/11/21 23:45:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません