0

ゲームのピースをリセットするスクリプトがありますが、変数が他の変数を呼び出して終了値を取得できません。

元の位置を含む変数は次のとおりです。関数でこれらの値が必要です。

red_1_x = $('#red_1').css('left');
red_1_y = $('#red_1').css('top');

アニメーション関数を呼び出す関数は次のとおりです。

$('.piece').mouseover(function(e) {
    var id = $(this).attr('id');
    resetGroundShoe(id);
});

$(this).attr('id') の例: red_1

そして、アニメーション機能は次のとおりです。

function resetPiece(id){
    if(!id){
        alert('no id');
    }
    else{
        x = id+'_x';
        y = id+'_y';
        gotoX = x;
        gotoY = y;
        $('#'+id).animate({left: x}, 250, function(){
            $('#'+id).animate({left: y}, 250);
        });
    }
}

なぜかgotoXgotoYがred_1_xred_1_yの数値になっていない

4

1 に答える 1

1

それらが使用できるグローバル変数であり、 /に格納されている名前でグローバルにアクセスできるwindow[x]と仮定します。window[y]xy

ただし、グローバルを使用するのはかなり悪いスタイルであり、それらの値を引数として渡す必要があるように思えます!

于 2012-11-21T07:25:48.063 に答える