I\'ve run into an issue where my app lives in an iframe and it\'s being called from an external domain. IE9 won\'t fire the load event when the iframe loads properly so I t
This is a usual problem when you work with setTimeout or setInterval callbacks. You should pass the i value to the function:
var timings = [1, 250, 500, 750, 1000, 1500, 2000, 3000],
    func = function(i) {
        return function() {
            console.log(timings[i]);
        };
    };
for (var i = 0, len = timings.length; i < len; i++) {
    setTimeout(func(i), timings[i]);
}
DEMO: http://jsfiddle.net/r56wu8es/