|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Второй день бьюсь - безрезультатно. Есть код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
У DIV-ного элемента object1 надо поменять цвет... При вышеизложенном коде выдаёт сообщение - Error: 'obj' is undefined Если же в лобовую в самой функции test (которая меняет цвет) прописать что "меняй цвет у такого-то элемента" (например так - document.getElementById('object1').style.color=colors[a]), а в функции qqq() прописать setTimeout("test()",100); - всё работает. Можно, конечно, под каждый элемент создать свою функцию - таких элементов на странице будет не много, но должен же быть способ вызова функции с передачей переменной ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:15 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Предлагаю obj не передавать через параметр, а сделать глобальной переменной. Либо передавать как параметр не сам объект, а его имя как стринг. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:17 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Владимир СанычПредлагаю obj не передавать через параметр, а сделать глобальной переменной. Через глобальную переменную работает... Но по сути это тоже самое что объявить локальную в самой функции смена цвета. Владимир СанычЛибо передавать как параметр не сам объект, а его имя как стринг. От передачи не объекта, а его айдишника (с последующим получением элемента по айдишнику) ничего не изменилось - таже самая ошибка: "такая-то переменная не определена". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:27 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Попробуйте изменить следующие куски: VanSanblch //переменные для пошагового прохождения по массиву var a=0; var b=1; var obj=0; //функция изменения цвета function test(obj) { //obj.style.color = colors[a]; //вместо старого пуска document.all("object" + obj).style.color= colors[a]; a+=b; if (a==38) b-=2; if (a==0) b+=2; } // End --> . . . <div id="object0" onmouseover="qqq(0)" style="background:red;">test</div> . . . тогда пронумровав id-шники и давая в функцию разные параметры, можете менять цвет для любого количества объектов ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:36 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
VanSanblchОт передачи не объекта, а его айдишника (с последующим получением элемента по айдишнику) ничего не изменилось - таже самая ошибка: "такая-то переменная не определена". Возможно, у Вас теперь какая-то более простая ошибка. Приведите код и на какой строке не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:38 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Владимир СанычВозможно, у Вас теперь какая-то более простая ошибка. Приведите код и на какой строке не работает. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Ругается словами - Error: 'str' is undefined То есть то же самое, только другая переменная. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:48 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Nefertiriтогда пронумровав id-шники и давая в функцию разные параметры, можете менять цвет для любого количества объектов Найн, бесполезно. Проблема не в назвниях или получении элемента по айдишнику. Загвоздка именно в периодическом вызове функции с передачей ей одного и того же параметра, определённого ранее... (самому бы не запутаться...) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:54 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
VanSanblch setInterval("test(str)",10); Я нечетко выразился. Имелось в виду вот что: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:58 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
М.б. Замыкания в JavaScript , IE 5.0: Аргументы функции при вызове через setTImeout(); Вам помогут? _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 11:59 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Владимир СанычЯ нечетко выразился. Имелось в виду вот что: Код: plaintext
Работает... Только почему - непонятно... Ща будем разбираться :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 12:02 |
|
запуск функции с переменной при помощи setTimeout
|
|||
---|---|---|---|
#18+
Ex_SoftМ.б. Замыкания в JavaScript , IE 5.0: Аргументы функции при вызове через setTImeout(); Вам помогут? _________________ "Helo, word!" - 17 errors 56 warnings Обязательно. Ща поймём где собака порылась. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2007, 12:03 |
|
|
start [/forum/topic.php?fid=22&msg=34311842&tid=1458820]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
131ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 241ms |
total: | 459ms |
0 / 0 |