我正在创建一个新的“打地鼠”风格的游戏,孩子们必须根据问题打出正确的数字。
我让数字从一个设置的顶部位置动画到另一个具有随机宽度的位置,这样它们看起来就像像气泡一样漂浮起来。
我遇到的唯一问题是,有时数字会出现故障,并且它们的宽度会突然变化,使其看起来从容器的一侧跳到另一侧。
我能想到的唯一解释是宽度必须在我试图寻找的地方重置。
我是盲人还是其他原因,有人可以帮我找到问题的根源。
这是映射数字的代码...
function randomFromTo(from, to) {
return Math.floor(Math.random() * (to - from + 1) + from);
}
function scramble() {
var children = $('#container').children();
var randomId = randomFromTo(1, children.length);
moveRandom("char" + randomId);
}
function moveRandom(id) {
var cPos = $('#container').offset();
var cHeight = $('#container').height();
var cWidth = $('#container').width();
var bWidth = $('#' + id).width();
var bHeight = $('#' + id).css(
'top', '400px'
).fadeIn(1000).animate({
' top': '-100px'
}, 10000).fadeOut(1000);
maxWidth = cPos.left + cWidth - bWidth;
minWidth = cPos.left;
newWidth = randomFromTo(minWidth, maxWidth);
$('#' + id).css({
left: newWidth
}).fadeIn(1000, function () {
setTimeout(function () {
$('#' + id).fadeOut(1000);
window.cont++;
}, 1000);
});
这也是一个工作小提琴,所以你可以看到我正在谈论的问题:http: //jsfiddle.net/pUwKb/26/