Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2010, 11:28
Кандидат Javascript-наук
Отправить личное сообщение для Артем125 Посмотреть профиль Найти все сообщения от Артем125
 
Регистрация: 01.10.2009
Сообщений: 140

динамическое имя переменной
Всем привет!

У меня есть скрипт, который работает с переменными созданными перечислением.

var my_tooltip_1 = new Tooltip('trigger_1', 'tooltip_1')
var my_tooltip_2 = new Tooltip('trigger_2', 'tooltip_2')
var my_tooltip_3 = new Tooltip('trigger_3', 'tooltip_3')


Но их окло 100.
Думал сделать массивом, типа этого

for (jT=1; jT<100; jT++){
   my_tooltip_+'jT' = new Tooltip('trigger_'+jT, 'tooltip_'+jT);	
}


но динамически создавать имя переменной не плучается, можно использовать ivent, но эта функция не безопасна

может кто знает что можно сделать

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2010, 11:42
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,361

http://javascript.ru/forum/search.php
__________________
"Не станет он искать побед. Он ждет, чтоб высшее начало его все чаще побеждало, чтобы расти ему в ответ." (c) Р. Рильке.
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2010, 11:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,164

Сообщение от Артем125
можно использовать ivent, но эта функция не безопасна
Что это за функция и чем она опасна?

Сообщение от Артем125
Думал сделать массивом, типа этого

for (jT=1; jT<100; jT++){
my_tooltip_+'jT' = new Tooltip('trigger_'+jT, 'tooltip_'+jT);
}
Где здесь массив?

Вам не нужны динамические имена переменных, они никому не нужны. Это плохо, взрывоопасно, и сплошные минусы без единого плюса. Для таких вещей придумали массивы и хэши. Роль хэшей в JS выполняют объекты. В вашем случае нужен обычный массив.
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2010, 11:45
Кандидат Javascript-наук
Отправить личное сообщение для Артем125 Посмотреть профиль Найти все сообщения от Артем125
 
Регистрация: 01.10.2009
Сообщений: 140

Вообще весь этот модуль для вывода всплывающей подсказки. а тут загвоздка. не понятно где эта переменная используется, в коде ее нет, может как то объект берется по другому

<script type="text/javascript">
// а вот так работает без проблем и ошибок
//var my_tooltip_1 = new Tooltip('trigger_1', 'tooltip_1')
//var my_tooltip_2 = new Tooltip('trigger_2', 'tooltip_2')

//заменил на это 
var arr = new Array()
for (jT=1; jT<80; jT++){
	arr = new Tooltip('trigger_'+jT, 'tooltip_'+jT);
	
}

  Event.observe(window,"load",function() {
    $$("*").findAll(function(node){
      return node.getAttribute('title');
    }).each(function(node){
      new Tooltip(node,node.title);
      node.removeAttribute("title");
    });
  });


а в прикрепленном файле код, который обрабатывает все это, и там нигде не нашел использование этих переменных my_tooltip_2,...
Вложения:
Тип файла: txt tooltip-v0.txt (7.2 Кб, 3 просмотров)

Последний раз редактировалось Артем125, 01.09.2010 в 12:04.
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2010, 13:37
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,134

Т.е. происходит следующее: по клику на элемент появляется окошко с содержимым title? А не проще ли на клик повесить функцию создания этого окна и передавать в нее this.title???
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2010, 13:49
Кандидат Javascript-наук
Отправить личное сообщение для Артем125 Посмотреть профиль Найти все сообщения от Артем125
 
Регистрация: 01.10.2009
Сообщений: 140

нашел в чем была проблема))

var arr = new Array()
for (jT=1; jT<80; jT++){
	    arr = new Tooltip('trigger_'+jT, 'tooltip_'+jT);
	     
}


а количество самих объектов было меньше 80, потому и ошибка была))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
извлечь имя переменной из строки 25mute Общие вопросы Javascript 10 25.08.2010 20:19
Как использовать "нестандартное" имя переменной при вызове функции? Pekkonen Events/DOM/Window 3 20.04.2010 23:32
Как получить имя файла и изменить его? nedosalivan Общие вопросы Javascript 5 29.03.2010 16:51
задать имя переменной в setvariable ppm Общие вопросы Javascript 1 12.03.2010 11:14
Динамическое имя переменной igorska Сайт Javascript.ru 1 14.09.2009 11:15