Czy żeby animować (poruszać w płaszczyźnie pionowej) litery tekstu, zawartego w paragrafie <p>, należy każdą literę umieścić w osobnym znaczniku (np. <span>)?

Napisałem takie coś:

var p = document.createElement("p");
p.setAttribute("id", "test");
document.getElementsByTagName("body")[0].appendChild(p);

p.innerHTML = "<span>a</span><span>b</span><span>c</span><span>d</span><span>e</span>";

var spans = document.getElementsByTagName("span");

function setOnStart()
{
	for (var i = 0; i < spans.length; i++)
	{
		spans[i].style.position = "absolute";
		spans[i].style.top = 20 * i;
		spans[i].style.left = 20 * i;
	}
}

function animate()
{
	console.log("OK");
	for (var i = 0; i < spans.length; i++)
		if (parseInt(spans[i].style.top) > 0)
			spans[i].style.top = (parseInt(spans[i].style.top) - 5) + "px";
}

setOnStart();

var interID = window.setInterval(animate, 10);

function clearInter()
{
	console.log("STOP");
	clearInterval(interID);
}

window.setTimeout("clearInter", 1000);

Działa ok, tylko ostatnia funkcja (setTimeout) nie anuluje intervalu. Dlaczego?

dodanie znacznika <code class="javascript"> - @furious programming