var tdaSymbols = ["AMZN","HD","O","VTI", "VEU", "BND", "ROBO"]; // can use exchange:symbol; e.g., "INDEXDJX:.DJI","NASDAQ:HEES" var tdaShares = [338, 353, 1024, 750, 2260, 4390, 140]; var tdaCash = 4909; var tiaaSymbols = ["VIEIX","VINIX", "VTSNX","VBTIX"]; var tiaaShares = [460, 161, 323, 11852]; //var tiaaSymbols = []; //var tiaaShares = []; var tiaaCash = 0; //var c360Cash = 15230; // savings //var cash = tdaCash + tiaaCash + c360Cash; var cash = tdaCash + tiaaCash; var symbols = tdaSymbols.concat(tiaaSymbols); var shares = tdaShares.concat(tiaaShares); /****************/ // stocks // http://jsfiddle.net/oqousaLw/1/ // http://www.focalshift.com/2014/06/24/the-google-finance-api-is-still-ticking/ // stockSymbols and stockShares defined at top of page //$(document).ready(function () { //$(document).ready(writeStockTable); // put call into window.onload instead,so the page load wouldn't be interrupted var value = 0; var valueChange = 0; var valueChangePercent = 0; function writeStockTable() { for (var i = 0; i < symbols.length; i++) { var date = new Date() var hour = date.getHours(); var minute = date.getMinutes(); var day = date.getDay(); var daytime = (hour >= 9 || (hour === 9 && minute >= 30)) && hour < 18 var weekday = (day != 6 && day != 0); // if (today > 9 && today < 18) // only update CIAA-TREF at night (function(i) { // must pass i http://stackoverflow.com/questions/15347750/getjson-and-for-loop-issue $.getJSON("https://finance.google.com/finance/info?client=ig&q="+symbols[i]+"&callback=?", function (response) { var stockInfo = response[0]; value += shares[i] * eval(stockInfo.l.replace(/\,/g,'')); // remove commas in numbers > 999.99 var totalValue = value + cash; var tiaa = $.inArray(stockInfo.t, tiaaSymbols) > -1; var change = stockInfo.c; var changePercent = stockInfo.cp; var changeSign = (stockInfo.c.substring(0,1) == "+") ? "+" : ""; var changeColor = (stockInfo.cp < 0) ? "red" : "green"; if (daytime && weekday && tiaa) { // don't include yesterdady's tiaa changes during day change = "-.--"; changePercent = "-.--"; changeSign = ""; changeColor = "black"; } else { valueChange += shares[i] * eval(stockInfo.c); valueChangePercent = 100 * valueChange / totalValue; } var valueChangeColor = (valueChange < 0) ? "red" : "green"; var valueChangeSign = (valueChange > 0) ? "+" : ""; var symbolLink = "" + stockInfo.t + "" $("#symbol").append("