Если бы я был тобой, я бы решил это немного иначе. Почему бы не добавить все данные на свою страницу, а просто скрыть их и показывать только тогда, когда вы этого хотите. Таким образом, вам не нужно беспокоиться о замыканиях и прочем.
var intervalId;
$.ajax({
type: "POST",
url: "/Home/PublicTimeLine",
dataType : "json",
success : function (msg) {
var json = eval(msg); // is this even needed?
$.each(json, function(ind, data) {
$("<div></div>") // use jQuery to create the div
.hide()
.text(data) // you can use jQuery to add contents too. (use .html() if you need HTML)
.prependTo('#results')
;
});
intervalId = setInterval(showRow, 3000);
}
});
function showRow() {
var $myDiv = $('#results div:hidden:last');
if ($myDiv.length) {
$myDiv.show('slow');
} else {
clearInterval(intervalId); // none more to show, stop checking
}
}