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より小さければ赤色という処理も加えたいです。
どうかご教授ください。
こんな感じになると思います。
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 だった場合には、デフォルト(黒)です。