Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > вызов функции таймером(с объекта)


Автор: sono 17.12.2011, 00:21
доброго времени суток, я только разбираюсь с js, так что прошу строго не судить
собственно вот мой тупик(я постарался по максимуму обстрагирывать ситуацию, и поубирал все лишнее)
для начала код:
Код

var obj1={
go:function go(){
this.count++;
 if(this.count>3){
clearInterval(this.intt);
}else{
alert('ok');
}
},
intt:null,
count:0,
main:function main(){
this.intt=setInterval(this.go,2000);
}
}

obj1.main()


значит имеется объект obj1 c функциями, и не знаю как называются... "атрибутами" наверно

коротко при вызове функции main()  запускается интервал который вызывает функцию go() при вызове которой  происходит инкремент счетчика count,  при достижении счетчиком 3 должен сбрасываться интервал, а пока это не произошло каждый раз будет alert('ok')
думаю все понятно, так вот вопрос почему не работает как я хочу, а именно вообще не работает интервал не запускается

опытным путем установлено что что-то не то в  строке №13(вот совпадение прямо)))) this.intt=setInterval(this.go,2000);
а именно мне кажется this.go, пробовал и "this.go()"...
все равно не пашет

что-то мне подсказывает что в функции setInterval this как-то не так работает
какие предложения?

Автор: $дмитрий 17.12.2011, 02:15
Замени везде this на obj1

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)