Работа таймеров
Очень большое дополнение ниже
Есть Таймер, который каждые 300мс запускает еще таймер который должен сработать 1 раз через 1000мс. В итоге таймер, который срабатывает через секунду работает не корректно. function ITTIMER300SECRUN( ){ randy=rand(1,8); hostile[cLvl][pLvl][randy][8] ="z"; oldxMage=8; oldyMage=randy; var tY=setInterval(function(){ var _y=oldyMage; var _x=oldxMage-1; delZ(_y,_x); hostile[cLvl][pLvl][_y][_x]="5"; clearTimeout(tY); }, 1000); } Мне бы хотелось узнать как создать локальный таймер. :help: |
Цитата:
var id = setInterval(function() { console.log("test"); setTimeout(function() { clearInterval(id); }, 1000); }, 300); Цитата:
var setIntervalId = setInterval( ... ); clearInterval(setIntervalId); |
Цитата:
|
Mkaa,
запускаите интервал Цитата:
Цитата:
|
:help:
var magTimer=setInterval(MageAction,1000); function MageAction() { randx = 1; if (randx == 1) { randy = rand(1, 8); hostile[cLvl][pLvl][randy][8] = "z"; oldxMage = 8; oldyMage = randy; var time = new Date(); console.log(time + "CREATE" + "||" + randy + ":" + oldxMage); var tY = setInterval(function () { var time = new Date(); console.log(time + "УДАЛЯЮ"); var _y = oldyMage; var _x = oldxMage - 1; if (cLvl == 3) { hostile[cLvl][pLvl][_y][_x] = "5"; } var time = new Date(); console.log(time + "УДАЛЯЮ" + "||" + _y + ":" + (++_x)); hostile[cLvl][pLvl][_y][(_x + 1)] = 0; console.log(tess); tess++; clearInterval(tY); }, 3000); } Поднимаю тему уже с дополнением. Выше код которые нужно довести до ума. А именно разобраться с принципом работы Таймера. Уже начал отлавливать каждую секунду и в итоге получаю: Thu Sep 12 2013 20:31:25 GMT+0400 (Московское время (зима))CREATE|| 4:8 №1 Thu Sep 12 2013 20:31:26 GMT+0400 (Московское время (зима))CREATE|| 8:8 №2 Thu Sep 12 2013 20:31:27 GMT+0400 (Московское время (зима))CREATE|| 1:8 №3 Thu Sep 12 2013 20:31:28 GMT+0400 (Московское время (зима))CREATE|| 4:8 Thu Sep 12 2013 20:31:28 GMT+0400 (Московское время (зима))УДАЛЯЮ|| 4:8 №1 Thu Sep 12 2013 20:31:29 GMT+0400 (Московское время (зима))УДАЛЯЮ|| 4:8 №2 Thu Sep 12 2013 20:31:29 GMT+0400 (Московское время (зима))CREATE|| 4:8 Thu Sep 12 2013 20:31:30 GMT+0400 (Московское время (зима))УДАЛЯЮ|| 4:8 №3 ================================================== ============================ Выясняется, что переменные _x и _y изменяются после каждого действия [CREATE], но если я создаю локальный таймер, внутри имеются тоже локальные переменные, то почему так происходит????? Или что? Происходит не присваивание, а указание на данные чтоль?:help: |
Mkaa,
может почитать http://learn.javascript.ru/settimeout-setinterval а пока ваши шифровки до центра не дошли |
Цитата:
|
Разобрался сам, Глобалки такие Глобалки.
|
Часовой пояс GMT +3, время: 02:46. |