Вы можете сделать это, используя setInterval :
$(function() {
var i = 0;
// Four-second interval
setInterval(function() {
$("#img").fadeOut(function() {
$(this).attr("src", "img" + i++ % 4 + ".jpg");
$(this).fadeIn();
});
}, 4000);
}
Я упростил несколько вещей, которые могли вызывать некоторые другие проблемы, которые вы видите, убрав (казалось бы, лишний) вызов load
внутри вашего fadeOut
обратного вызова и удалив ненужную переменную temp
.
(Наконец, если вы не просто делаете это для изучения, рассмотрите возможность использования одного из множества отличных плагинов для слайд-шоу, например Cycle .)