Вход

Просмотр полной версии : как получить доступ к переменной в классе


aleks_lv
03.01.2013, 01:21
создается приблизительно ну вот такой класс и объект этого класса

var myClass=Class.create(
{ initialize:function()
{ this.msg="hello" ;
} ,
displays:function()
{ $$('div')[0].observe('mouseover',
function(event)
{this.setStyle({backgroundColor:'red'});
this.insert(this.msg);
})
}
}
)

var ty=new myClass();
ty.displays();


такой вот html

<div style="background-color: #6666FF">&nbsp;</div>

в displays не знаю как получить доступ к this.msg ....так как сейчас то не работает..
this.insert(this.msg)
как то может через bind ()??

valyan
21.07.2013, 22:15
Здравсвтуйте. У мена аналогичный вопрос - есть "класс"

function MyClass()
{
this.Show(par1, par2)
{
// текст функции
}
this.Create(par1, par2)
{
// текст функции
}
this.Destroy(par1, par2, par3)
{
// текст функции
}
}

И есть страничка, содержащая ссылку

....
<script type="text/javascript">
var MyCl = new MyClass();
</script>
<a href="#" onclick="MyCl.showMap(\'YYID\', mymas);return false;">показать карту</a>
...

Как мне вызвать метод "класса", ну или обратиться к переменной класса? Я только начинаю изучать javascript, так что не пинайте)). Заранее спасибо!

danik.js
21.07.2013, 22:32
Так и обращаться, как ты обращаешься. У тя походу полно ошибок. Твой "класс" имеет какой-то странный синтаксис, смахивает на недо-TypeScript. Открой консоль в браузере и увидишь все.

valyan
22.07.2013, 11:29
Вот пытаюсь сделать так:

function MyClass(Cont)
{
this.Container = Cont;
this.showMap = function()
{
try
{
YMaps.jQuery(function() {
// Создание экземпляра карты и его привязка к созданному контейнеру
mapContainer = YMaps.jQuery('#' + this.Container), map = new YMaps.Map(mapContainer[0]);

// Контейнер для карты делаем видимым
mapContainer.css("display", "");

// Установка для карты ее центра и масштаба
map.setCenter(new YMaps.GeoPoint(49.124800, 55.787700), 10);

// опции карты
//map.enableScrollZoom();
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.TypeControl());
map.addControl(new YMaps.Zoom());

}
catch (e)
{
alert(e.toString());
}
}
}



<script type="text/javascript">
var mymas = null;
var MyClas = new MyClass(\'YMapsID\');
</script>
<a href="#" onclick="MyClas.showMap();return false;">показать карту</a>

Вылетает на map.setCenter(new YMaps.GeoPoint(49.124800, 55.787700), 10);
Правильно ли я делаю? В чем моя ошибка?

skrudjmakdak
22.07.2013, 11:40
Вылетает на map.setCenter(new YMaps.GeoPoint(49.124800, 55.787700), 10);
Правильно ли я делаю? В чем моя ошибка?

а в консоли что пишет? текст/описание ошибки

mta88
22.07.2013, 11:43
В чем моя ошибка?
в неумении задавать вопросы:)

Вылетает на
map.setCenter(new YMaps.GeoPoint(49.124800, 55.787700), 10);

например, какая именно здесь выдается ошибка?

valyan
22.07.2013, 11:49
Извиняюсь...
Текст ошибки

"'this.coordSystem' - есть null или не является объектом"

Щас погуглю...

Что-то никаких результатов...

valyan
22.07.2013, 12:55
как побороть ошибку?:)

mta88
22.07.2013, 13:04
как побороть ошибку?
все равно мало информации, чтобы что-нибудь придумать

может yandex-api не догрузилось
почему кстати первая версия а не вторая?


mapContainer = YMaps.jQuery('#' + this.Container);
map = new YMaps.Map(mapContainer[0]);
mapContainer.css("display", "");

может стоит поменять вторую и третью строки
третья строка вообще странная какая-то

Danoldnelf
13.08.2015, 21:23
Подскажите пожалуйста как получить доступ к полученой таблице после SQL-запроса в компонентах ADO?