Показать сообщение отдельно
  #3 (permalink)  
Старый 29.07.2010, 11:32
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

либо можно просто вынести обработчики в отдельные функции/методы:
for(var i=0;i<city.length;i++){
    city[i].svg = R.circle(city[i].x,city[i].y,3).attr({fill: "270-#f2c01f-#fe9400",stroke:"270-#f2c01f-#fe9400"});
    city[i].svg.mouseover( mouseover(city[i]) );

function mouseover( city ){
    return function(){
        city.svg.animate({r:10},1000);
        city.svgText.show();
    };
}

или даже так, если написать функцию pass:
for(var i=0;i<city.length;i++){
    city[i].svg = R.circle(city[i].x,city[i].y,3).attr({fill: "270-#f2c01f-#fe9400",stroke:"270-#f2c01f-#fe9400"});
    city[i].svg.mouseover( mouseover.pass(city[i]) );

function mouseover( city ){
    city.svg.animate({r:10},1000);
    city.svgText.show();
}
Ответить с цитированием