Просмотр полной версии : Временной таймер на цикле.
Как лучше сделать цикл дабы он с переадичностью дёргал переменную из PHP. пытался сделать сам либо цикл пробегает один раз, либо эксплорер вежливо предупреждает, что этот цикл может привести к зависанмю. Пытался предотвратить это штукой под название timer, но без успешно =(
я тоже так подумал, но видимо дело в том, что setInterval(); уже используеться и это приводит к странным последствиям:
setInterval( function(){
var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
if (success) {
for (var variable:String in this)
{
trace(variable + ': ' + this[variable]);
// где variable - имя переменной
// this[variable] - ее значение
}
} else {
trace("Ошибка в загрузке / разборе результирующей строки.");
}
};
my_lv.load("http://vizplast.ru/teg.php");
my_lv.onLoad = function(success:Boolean) {
if (success) {
for (var variable:String in this)
{
if(variable != 'onLoad')
{
//прокрутка
variable = variable.substr(0, variable.length - 1); //удаляем последний знак.
var t_str = variable;
changeStr1 = function() {
t_str = (t_str.concat(t_str.substr(0,1))).substr(1);
ta.text = t_str;
}
setInterval(changeStr1,200);
//---
}
}
}
}
}, 5000 );
ну конечно же, из-за внутреннего setInterval'a, т.е. сам алгоритм:
setInterval( function(){
changeStr1 = function() {
}
setInterval(changeStr1,200);
}, 5000);
вызов setInterval(changeStr1,200); будет суммироваться через каждые 5000 миллисекунд.
И с каждым повторением они будут вызываться все больше и больше, что и приводит к зависанию.
Меняй алгоритм.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.