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回まで
  • 13歳以上
  • 登録:2014/11/21 22:06:44
  • 終了:2014/11/21 23:43:56

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4504ベストアンサー獲得回数18702014/11/21 23:34:36

ポイント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

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません