![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
maxkazar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 26.1.2004 Где: Таганрог Репутация: нет Всего: нет |
Необходимо в объекте использовать задержку(таймер) window.setTimeout().
Например:
Вот так бы хотелось в идеале....но к сожалению так не получится(. Т.к. вызов функции таймера (в примере this.Action() ) происходит в конетксте основного объекта (если я не ошибаюсь это будет объект window). Соответсвенно возникнет ошибка!. А как же тогда быть....как поставить таймер в объекте. Как сделать чтоб в обработчике таймера можно было использовать свойтва и методы самого объекта.... Мне в голову приходит только один способ....где-то надо хранить имя объекта (в примере T) а потом уже в обработчике получать ссылку на имя....но это полный геморой (очень далеко от идела!) |
|||
|
||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
maxkazar да это проблема, которая и меня порой достает...
window.setTimeout всегда исполняет функцию в контексте window. Я писал два решения, первое прописать всем функциям ссылку на обéкт:
Недаостаток что нужно всегда определять функции в конструкторе, что бы у каждого обьекта был свой обьект функция держущая ссылку на обьект target. Также ссылка arguments.callee по моему не существуетв ИЕ5.0 Можно завести регистр обьектов, в который будем складывать всех кто обратился на паузу:
Можно еще извратится, главное не уйти слишком далеко ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
maxkazar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 26.1.2004 Где: Таганрог Репутация: нет Всего: нет |
Вот жешь....все гениально и просто, как это я сам не догадался... Просто в самом объекте надо хранить сылку на сам объект!....это вполне нормально....я данный подход использовал и раньше вот только здесь не попробывал))
|
|||
|
||||
Се ля ви |
|
|||
![]() Java/SOAрхитектор ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 5 Всего: 127 |
Господа, а почему бы не передавать ссылку на объект как параметр функции? Это конечно тоже кривовато, но всё-таки красифше и универсальней:
Разве не меньшее из зол? -------------------- |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
И так тоже будет работать, просто выглядеит ну совсем не как ООП... ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |