2

JavaScriptを含むHTMLファイルで作業しています。

JavaScriptコードは次のとおりです。

var dImage = new Image();

var drawing = (function () {

    .
    .
    .
    .

    redrawing = function () {
        context.drawImage(dImage, dX, dY, dWidth, dHeight);
    },

    init = function () {
        dImage.src = "images/d.png";
        redrawing();
    };

    return {
        init: init
    };

}());

function updateImage(dSrc){
    dImage.src = dSrc;
    // Call redrawing here
}

HTMLで私は

drawing.init();

そしてそれはうまく働いています。また、電話で画像ソースを変更することもできます

updateImage("images/d2.png");

そしてそれはソースを変更するために働いています。

ただし、画像を更新するredrawing()にはメソッドを呼び出す必要があります。updateImage()

私はそれを多くの方法で呼び出そうとしますが(たとえばdrawing.redrawing();)、からの応答がありませんredrawing()

4

2 に答える 2

4

定義されている関数の外部から関数を呼び出せるようにする場合redrawingは、次の場合と同じように、その関数から関数を返す必要がありますinit

var drawing = (function () {

    .
    .
    .
    .

    return {
        init: init,
        redrawing: redrawing
    };
}());
于 2012-12-25T13:07:55.147 に答える
1

公開redrawingする:

return {
    init: init,
    redrawing: redrawing
};
于 2012-12-25T13:05:12.337 に答える