【发布时间】:2013-12-31 07:15:51
【问题描述】:
http://jsfiddle.net/goldrunt/jGL84/42/ 这是来自这个 JS fiddle 的第 84 行。通过取消注释第 141-146 行,可以对球应用 3 种不同的效果。 'bounce' 效果可以正常工作,但 'asplode' 效果什么也不做。我应该在 asplode 函数中包含“收缩”函数吗?
// balls shrink and disappear if they touch
var shrink = function(p) {
for (var i = 0; i < 100; i++) {
p.radius -= 1;
}
function asplode(p) {
setInterval(shrink(p),100);
balls.splice(p, 1);
}
}
【问题讨论】:
-
asplode未在全局范围内声明(或者特别是,未在update可访问的范围内定义);检查我们的控制台。 -
幸运的是,那是
balls.splice()和p。 -
你有错误
Uncaught ReferenceError: asplode is not defined。函数asplode()不可见。 -
asplode不在正确的范围内,setInterval应该收到一个函数引用,splice需要一个索引 - 或者世界只是随着你而缩小 jsfiddle.net/5f85b -
这是一个完全不同的问题。他们唯一的共同点就是球。和 JavaScript。和注意。哦,拜托,如果你想开玩笑,至少要有品位。 (但无论如何它们都会被删除。)
标签: javascript html