0

画像オブジェクトのアニメーション化でこの問題が発生しています。これは私が私のイメージを作る方法です:

var paddleUpgradeImage = new Image();
paddleUpgradeImage.src = "images/expand.gif";

function makeEaseOut(delta) {  
    return function(progress) {
        return 1 - delta(1 - progress);
    };
}

function bounce(progress) {
    for(var a = 0, b = 1, result; 1; a += b, b /= 2) {
        if (progress >= (7 - 4 * a) / 11) {
            return -Math.pow((11 - 6 * a - 11 * progress) / 4, 2) + Math.pow(b, 2)
        }
    }
}

function quad(progress) {
    return Math.pow(progress, 2)
}

function drawMovement() {
    paddleUpgradeImage.animate({
        delay: 20,
        duration: 3000,
        delta: makeEaseOut(bounce), 
        step: function(delta) {
            //img.style.top = height*delta + 'px';
            upgradesY[0] = 400*delta;
        }
    });

    paddleUpgradeImage.animate({
        delay: 20,
        duration: 3000, 
        delta: makeEaseOut(quad),
        step: function(delta) {
            upgradesX[0] = 200*delta;
            //img.style.left = width*delta  + "px";
        }
    });
}

UpgradesX と upgradesY は、画像の位置を保持する配列です。それは私にこのエラーを与えます:

Uncaught TypeError: Object #<HTMLImageElement> has no method 'animate' 

これを修正して画像を動かすにはどうすればよいですか?

4

1 に答える 1

2

DOM要素を引数として渡すだけです$(またはjQuery、競合モードでない場合は )。

var x = new Image()
x.src = 'y.gif'
$(x).animate({ /* ... */ })
于 2013-10-29T15:36:10.410 に答える