Your code works, but the fadeIn
doesn't, because it's already visible. I think the effect you want to achieve is: fadeOut
→ load
→ fadeIn
:
var auto_refresh = setInterval(function () {
$('.View').fadeOut('slow', function() {
$(this).load('/echo/json/', function() {
$(this).fadeIn('slow');
});
});
}, 15000); // refresh every 15000 milliseconds
Try it here: http://jsfiddle.net/kelunik/3qfNn/1/
Additional notice: As Khanh TO mentioned, you may need to get rid of the browser's internal cache. You can do so using $.ajax
and $.ajaxSetup ({ cache: false });
or the random-hack, he mentioned.