我从正在观看的教程中获得了这个动画示例:
(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 函数之后定义的。