| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > setTimeout и передача ссылки на объект в параметре |
| Автор: Иль 19.4.2005, 01:47 |
| Скажите, я правильно понял, что в ИЕ setTimeout`у нельзя передать в параметре ссылку на объект. Очень жаль конечно, что в Геко можно, но может я что нитак делаю. Если не сталкивались, дам код |
| Автор: Sardar 19.4.2005, 02:26 | ||
| Всегда давай код В зависимости от приёма, например можно так:
|
| Автор: Aliance 19.4.2005, 14:21 |
| У этой функции первый параметр - строчный тип данных. Почему ж нельзя См. пример Sardarа |
| Автор: Иль 20.4.2005, 01:05 | ||||
да не, я про аргументы
|
| Автор: Gregof 20.4.2005, 07:58 | ||||||
строковые и числовые параметры можно передать так:
А вот чтоб передать ссылку тебе надо воспользоваться примером Sardar. Для своих нужд я написал такую вот функцию:
Может и тебе поможет. Аналогично для вызова методов:
|
| Автор: Иль 20.4.2005, 10:57 |
| Пока не переворил, но понял, что чтобы не использовать вложенное определение функции как у Sardar, надо применить свойства call или apply объекта function, верно? |
| Автор: Gregof 20.4.2005, 11:16 | ||
Да в принципе не обязательно, но функцию посредника сделать придётся:
|
| Автор: Иль 20.4.2005, 11:51 | ||||
Gregof, я еще думаю и не применял
А вот в рекурсии
|
| Автор: Gregof 20.4.2005, 12:29 |
| В интеренте много справочников, но не всегда им можно верить Напрмер : вот http://wdh.suncloud.ru/dhtml13.htm#msettimeout вот http://wdh.suncloud.ru/dhtml14.htm#hsettimeout описаны идентично. Но вот если посмотреть http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/settimeout.asp можно сразу понять почему твой код не работает |
| Автор: Иль 20.4.2005, 12:34 | ||||
Гы
песня тока есть Вот так я реанимировал в моих глазах проказника
|
| Автор: Aliance 20.4.2005, 12:42 | ||
Аргументы у функций, у методов - параметры |
| Автор: Sardar 20.4.2005, 14:32 | ||||||
И трудно понять зачем нужно было делать через ж... Это не единственных ляп MS... Для ИЕ можно так извратиться:
Очень хорошая вещь call и apply, но не будет работать в убогом JScript 1.3(ECMA 1.3) что стоит в ИЕ5.0 Там вобще много стандартных вещей нет, хотя бы нормальных массивов... |
| Автор: Иль 20.4.2005, 20:43 |
| Ребята, это еще не все. Есть такая замечательная функция setInterval... Поставим задачу повторно. Есть объект, есть ссылка на него. Надо определенное колличество раз или до условия через определенные промежутки делать что-то с объектом по этой ссылке и у объекта нет id (и даже не надейтесь И какой получается вывод: На данном отрезке истории и по вине ИЕ для SetTimeout надо ссылку на объект перекатавать между двумя функциями туда и обратно. Хотя можно проставить скриптом случайные id и про все забыть А для setInterval это, вроде, вообще единственное решение И это все. Всем спасибо, плюсы на сегодня расставил, пойду ваять |
| Автор: Иль 20.4.2005, 22:40 | ||
Я поторопился, способ function (){myFunc(arg1,arg2)} и в рекурсии работает
Ох шаманство, а не просвещение. |