我正在创建一个加法和减法游戏,其中一个总和是随机生成并显示在容器顶部的。然后数字从下到上动画,想法是点击正确的。
数字在开始时被赋予一个随机的“x”位置,然后以相同的速度动画到顶部。
我遇到的问题是,当程序运行时,元素有时会重叠,因为它们在开始时被赋予了类似的“x”位置。
我需要告诉程序不要给出相同的“x”位置,直到使用它的元素在屏幕上足够远以至于它们不会重叠。
问题是在游戏刚开始时最糟糕。
这是相关的代码...
var currentMoving = [];
function moveRandom(id) {
// Mark this one as animating
currentMoving.push(id);
var cPos = $('#container').offset();
var cHeight = $('#container').height();
var cWidth = $('#container').width();
var bWidth = $('#' + id).width();
var bHeight = $('#' + id).css('top', '395px').fadeIn(100).animate({
'top': '-55px'
}, AnimationSpeed,'linear').fadeOut();
maxWidth = cPos.left + cWidth - bWidth;
minWidth = cPos.left;
newWidth = randomFromTo(minWidth, maxWidth);
$('#' + id).css({
left: newWidth
}).fadeIn(100, function () {
setTimeout(function () {
$('#' + id).fadeOut(10);
// Mark this as no longer animating
var ix = $.inArray(id, currentMoving);
if (ix !== -1) {
currentMoving.splice(ix, 1);
}
window.cont++;
}, 100);
});
}
这是一个小提琴 - http://jsfiddle.net/pUwKb/68/