使div不断随机移动

时间:2012-12-18 10:04:18

标签: javascript jquery

我为儿童创建了一个射击游戏,他们必须在出现时拍摄正确的数字(取决于问题)。我的问题是,目前数字一次出现一个,但我想这样做,以便画布不断填充数字,这些数字会像本例中的形状一样四处移动...... http://sheppardsoftware.com/mathgames/earlymath/shapes_shoot.htm

function moveRandom(id) {

var cPos = $('#container').offset();
var cHeight = $('#container').height();
var cWidth = $('#container').width();

// get box padding (assume all padding have same value)
var pad = parseInt($('#container').css('padding-top').replace('px', ''));

// get movable box size
var bHeight = $('#' + id).height();
var bWidth = $('#' + id).width();

// set maximum position
maxY = cPos.top + cHeight - bHeight - pad;
maxX = cPos.left + cWidth - bWidth - pad;

// set minimum position
minY = cPos.top + pad;
minX = cPos.left + pad;

// set new position
newY = randomFromTo(minY, maxY);
newX = randomFromTo(minX, maxX);

$('#' + id).css({
    top: newY,
    left: newX
}).fadeIn(2000, function() {
    setTimeout(function() {
        $('#' + id).fadeOut('fast');
        window.cont++;
    }, 1500);
});

以下是我创建的版本http://jsfiddle.net/pUwKb/5/

1 个答案:

答案 0 :(得分:0)

如果将css()方法替换为animate()

,是否有效?
$('#' + id).animate({
    top: newY,
    left: newX
}).fadeIn(2000, function() {
    setTimeout(function() {
        $('#' + id).fadeOut('fast');
        window.cont++;
    }, 1500);
});