PDA

Просмотр полной версии : проблема с setInterval();


M_bl_K_O_JI_A
03.08.2005, 15:01
Добрый день! Ребят, помогите, пожайлуста, справиться со следующей проблемой...Есть программа, написанная мной, ее суть рассказывать не буду, поскольку здесь это не имеет особого значения.
Проблема вот в чем. В моей программе определенная функция, не втсроенная, а написанная мной, должна исполняться раз в определенный интервал миллисекунд, для чего я использую встроенную ф-цию setInterval();.
Пример:
function SomeFunction () {
trace("Hello world!");
}
setInterval(SomeFunction, e);
где преременная "е" динамически меняется от 100 до 5000 миллисекунд, причем она может изменяться как возрастая, так и убывая...А теперь, наконец-то сама суть проблемы) При уменьшении параметра "е", то есть при уменьшении количества миллисекунд интервала выполнения функции, все работает на ура, и, как в примере, надпись "Hello World!" при е равном 1000 выводиться на экран раз в секунду, при ее уменьшении до 500, соответственно 2 раза в секунду, а вот при последующем увеличении переменной "е" снова до 1000, надпись "Hello world!" продолжает выводиться на экран 2 раза в секунду...То есть при уменьшении интервала цикличность выполнения увеличивается, и это нормально, а вот при увеличении, цикличность выполнения ф-ции не хочет изменяться в меньшую сторону...почему, не могу понять. Может, кто-нибудь знает, в чем дело? :eek:

KidsKilla
03.08.2005, 15:15
function SomeFunction () {
clearInterval(tmr)
trace("Hello world!");
tmr = setInterval(SomeFunction, e);
}
var tmr = setInterval(SomeFunction, e)

M_bl_K_O_JI_A
03.08.2005, 15:19
спасибо большое! правда, я еще не проверял, но, как мне кажется, должно работать) спасибо, еще раз)

iNils
03.08.2005, 15:26
сколько топиков создалось :)

mediaman
03.08.2005, 15:32
2 М Ы К О Л А следите за указательным пальцем вашей правой руки ( а может и левой) =)

iNils
03.08.2005, 15:37
2mediaman: Можно топик с моим ответом убить, там тоже самое, что KidsKilla предложил.

M_bl_K_O_JI_A
03.08.2005, 16:49
народ, очень извиняюсь)) просто чего-то ошибки при отправки данных с работы вывели, вот я так и понажимал лихо)) за ответы огромное спасибо! за удаление лишних повторных тем еще большее спасибо!)