Javascript:如何在命名空间类中移动原型?

时间:2010-12-06 20:38:06

标签: javascript class oop

我使用google V3 api构建了一个地图,一切正常,现在我需要将我的代码与其他人合并,我必须为我的所有功能创建一个命名空间..

所以,给我上课  MY.myMap = Class.create(...)

我正在“翻译”我自己的代码

function boxOn(index) {
    this.objId.find('#location' + index).stop().animate({
        backgroundColor: bgColorOn,
        color: colorOn
    },
    300);
}

   MY.myMap = Class.create(

           boxOn: function(index) {
                this.objId.find('#location' + index).stop().animate({
                    backgroundColor: this.bgColorOn,
                    color: this.colorOn
                },
                300);
            },

    *etc..etc..etc..*

)

等...到目前为止这是可以的......但我的原型编码如(谷歌地图代码)

InfoBox.prototype = new google.maps.OverlayView();

InfoBox.prototype.remove = function() {
    if (this.div_) {
        this.div_.parentNode.removeChild(this.div_);
        this.div_ = null;
    }
};

InfoBox.prototype.draw = function() {
    this.createElement();
    if (!this.div_) return;
    var pixPosition = this.getProjection().fromLatLngToDivPixel(this.latlng_);
    if (!pixPosition) return;
    this.div_.style.width = this.width_ + "px";
    this.div_.style.left = (pixPosition.x + this.offsetHorizontal_) + "px";
    this.div_.style.height = this.height_ + "px";
    this.div_.style.top = (pixPosition.y + this.offsetVertical_) + "px";
    this.div_.style.display = 'block';
};

如何写这个对象??

0 个答案:

没有答案