Показать сообщение отдельно
  #9 (permalink)  
Старый 20.08.2012, 16:06
Аватар для LittlePony
Кандидат Javascript-наук
Отправить личное сообщение для LittlePony Посмотреть профиль Найти все сообщения от LittlePony
 
Регистрация: 19.08.2012
Сообщений: 100

Сообщение от vadim5june Посмотреть сообщение
это промежуточное Switch2Next не нужно
по идее вот так должен работать
var t=this;
var autoslideTimer = setInterval(function(){t.SwitchTo()},this.options.autoslideDelay)
Да, работает. И кажется я даже начинаю понимать, почему это работает, мой вариант выше работает, а первый вариант не работал. Большое спасибо!
Скажите, правильно ли я теперь понимаю?
Вариант:
var t=this;
var autoslideTimer = setInterval(function(){t.SwitchTo()},this.options.autoslideDelay)

Здесь в переменной t уже вполне определённый объект, который до применения setInterval был определён как this, который в тот момент однозначно указывал на сам объект PromoBlock(и будет на него указывать, как его ни обозвать), у этого объекта есть метод SwitchTo, который и вызывается в контексте объекта, который из t уже никуда не денется, как бы setInterval ни менял контекст.

Вариант же мой рабочий — это почти то же самое, но расписанное большим количеством шагов.
Ответить с цитированием