Javascript: как переместить прототип в класс пространства имен? - PullRequest
1 голос
/ 06 декабря 2010

Я построил карту с API Google V3, и все работает нормально, теперь мне нужно объединить свой код с кем-то еще, и мне нужно создать пространство имен для всех моих функций ..

так, учитывая мой класс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..*

)

и т. Д. ... пока все в порядке ...но у меня есть прототип, закодированный как (код карты Google)

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';
};

как мне написать эти объекты ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...