私が見ているチュートリアルからのこのアニメーションの例があります:
(function() {
var speed = 10,
moveBox = function(moveBy) {
var el = document.getElementById("box"),
left = el.offsetLeft;
if ((moveBy > 0 && left > 399) || (moveBy < 0 && left < 51)) {
clearTimeout(timer);
timer = setInterval(function() {
moveBox(moveBy * -1);
}, speed);
}
el.style.left = left + moveBy + "px";
};
var timer = setInterval(function () {
moveBox(3);
}, speed);
}());
clearTimeout 関数の後にタイマーが定義されているため、clearTimeout (タイマー) がエラーをスローしない方法に興味があります。