jQuery Deferred Progress

HTML

<div id="log"></div>

JavaScript

var deferred = $.Deferred();
var intervalID;
var percentageComplete = 0;

deferred.progress(function(progress) {
    $('#log').html('Progress: ' + progress);
});

deferred.done(function() {
    clearInterval(intervalID);
});

setInterval(function() {
console.log(1);
    deferred.notify(percentageComplete);
    if(percentageComplete >= 100) {
        deferred.resolve();
    }
    percentageComplete += 25;
}, 1000);