This script sets a random color to the body and a div and should just fade between them:
function randcolor(){
return ('#' + (~~(Math.random() * 16777215)).toString(16))
}
var $body = $("body"),
$div = $("<div style='display:none; position: absolute; top:0; right:0; bottom:0; right:0;'></div>")
function havefun(){
$body.css("background", randcolor()).append($div);
$div.fadeIn(1000);
setTimeout(function(){
$div.fadeOut(500, function(){ $div.remove().css("background", randcolor()).hide(); havefun(); })
}, 1500);
}
havefun()
but there is no fade my color change happens instantly. Can anyone help? here you can see a working example.