Ten kod oczywiście działa, ale nie rozumiem w nim paru rzeczy. Sprawdziłem w dokumentacji do czego słuzy toString i okej, fajnie. Nie rozumiem jednak co ta metoda robi w tym kodzie i dlaczego występuje razem ze zmienna level. Poza tym nie rozumiem też dlaczego jest dwa razy po plusach zmienna hex. Nie rozumiem też dlaczego metoda setTimeout zostaje wywołana dwa razy? Wszystko inne wydaje mi się jasne.
<script type="text/javascript">
var fade = function(node){
var level = 1;
var step = function(){
var hex = level.toString(16);
node.style.background = '#FFFF' + hex +hex;
if (level<15)
{
level += 1;
//setTimeout(step,3000);
}
};
setTimeout(step,3000);
};
fade(document.body);
</script>