Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выход из цикла по нажатию кнопки 
:(
    Опции темы
Вася2
Дата 6.2.2007, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



Хэллоу

вопрос следующий: есть цикл, который должен повторяться, пока не будет нажата некая кнопка. Я пробовал делать так:

Код

  var flag=0;

// вызывается при нажатии на кнопку
  function flg()
  {
   flag=1;
  }

// собсно цикл, запускается при нажатии на другую кнопку  
function f()
  {

   while (flag==0)
   {

// ....

   }
  }



И ниче не работает... smile  Что можно сделать?
PM MAIL   Вверх
SelenIT
Дата 6.2.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Вася2, советую организовать цикл не "в лоб", а через setInterval/setTimeout, а по нажатию кнопки "стоп" таймер сбрасывать. В текущей же реализации до обработки этой кнопки, по-видимому, даже не доходит, т.к. JS (многопоточности, AFAIK, не знающий) попросту зависает на бесконечном цикле в ф-ции f()...



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Вася2
Дата 6.2.2007, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



А можно поподробнее?
 smile 

плиз...
PM MAIL   Вверх
SelenIT
Дата 6.2.2007, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Примерно как-то так:
Код

function f() {
   // тут все, что делается в каждом обороте цикла
}

startbutton.onclick = function() {
    window.interval1 = setInterval(f, 10);
    // заставляем функцию f() вызываться по "расписанию" interval1 каждые 10 миллисекунд
}

stopbutton.onclick = function() {
     window.clearInterval(interval1); // отменяем "расписание"
}




--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0753 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.