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 回答