Javascript.RU

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

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

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

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, 12:42
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

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

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

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

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

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

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

<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 Кб, 4 просмотров)

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

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

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

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


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



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

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


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