Я пытаюсь создать свой первый прототип Javascript. Он заключается в создании ярлыка, размещенного на карте Google V3, в которой я пишу, думает, что «Загрузка маркеров» во время длительных операций.
Однако, я хотел бы, чтобы «повторно» мой прототип и изменить текст, который написан в. «Загрузка маркеров» может стать «Загрузка формы» во время операции загрузки формы, и т.д. ...Базовый прототип Javascript - не удалось обновить свойство
Вот что я написал до сих пор:
StateControl.prototype.text_ = null;
// Define setters and getters for this property
StateControl.prototype.getText = function() {
return this.text_;
}
StateControl.prototype.setText = function (text) {
this.text_ = text;
}
/** @constructor */
function StateControl(controlDiv, map, text) {
var control = this;
control.text_ = text;
controlDiv.style.padding = '5px';
// Set CSS for the control border
var stateUI= document.createElement('div');
//some css properties like stateUI.style.backgroundColor = 'black'
controlDiv.appendChild(stateUI);
// Set CSS for the control interior
var goHomeText = document.createElement('div');
stateUI.id = 'stateControl';
//some css properties like stateText.style.color = 'white';
stateText.innerHTML = '<strong>' + this.text_ + '</strong>';
stateUI.appendChild(stateText);
}
Когда я инициализировать свою карту Google, я звоню прототип как это:
var stateControlDiv = document.createElement('div');
var stateControl = new StateControl(stateControlDiv, map, "Loading the map");
stateControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_CENTER].push(stateControlDiv);
и в конце процесса инициализации, я FADEOUT StateControl с
$("#stateControl").fadeOut(3000);
--- Это работает ---
Но теперь, мне нужно изменить текст StateControl
, когда пользователь нажимает RadioButton под названием "Load формы". Я хочу, чтобы StateControl
fadeIn()
сразу с «Загрузка фигур» в виде текста, затем fadeOut(3000)
, когда фигуры загружены. Я знаю, как использовать fadeIn()
и fadeOut()
, но я не знаю, как изменить текст, и «Загрузка карты» по-прежнему появляется при загрузке фигур.
Я попытался с
homeControl = StateControl.prototype.setText("Loading the shapes");
в моем loadShapes()
метода, но он работает только тогда, когда я создаю новый StateControl
с хорошим текстом ... Но это пустая трата и мне просто нужно обновить text_
свойства.
Как я могу это сделать?
Вы попробовали stateControl.setText («Загрузка фигур»); ?? –
Да, я попробовал, и у меня есть следующая ошибка в консоли: 'TypeError: stateControl.setText не является функцией' – AlexB
Я размещаю некоторый ответ, но он просто слепой. Дайте мне знать, если это сработает. –