Вход

Просмотр полной версии : Заморозить функцию до ответа другой


TimohaP
02.02.2015, 00:13
В этих ваших интернетах искал ответ, но есть ответ только на заморозку на определенное время. Проблема вот в чём, нужно заморозить выполнение подобно alert'у или prompt'у. Только использовать не стандартные функции, а стилизированое свёрстанное красивое окошко (оно у меня есть) , и вот если в нем нажать кнопку, допустим, "подтвердить", то возвращается true, функция разморажывается. и наоборот. Как сделать такое окно, чтобы блокировало (замораживало) исполнение скрипта?

Octane
02.02.2015, 00:38
никак
придется освоить асинхронное программирование

TimohaP
02.02.2015, 01:00
Да нет же, вы не поняли, нужно НЕ действовать одновременно с другой функцией, а наоборот, продолжить выполнение функции тогда, когда сам юзер не нажмет кнопку ( ну или не нажмет). Те подобно confirm'у

danik.js
02.02.2015, 01:23
вы не поняли
:D

TimohaP
03.02.2015, 20:05
И что?

Deff
04.02.2015, 03:12
TimohaP,
Если функция , подлежашая "заморозке" имеет некую цикличность, периодически, в куске цикла проверять наличие этого окна (или специальной переменной, генерируемой при всплытии окна) если окно существует, замороженная функция циклиться на тестировании этой переменной или нажатия кнопки)
По хорошему эту "Замораживаемую" функцию нужно реализовывать изначально цикличность исполнения через setInterval , либо запихнуть во фрейм(пусть тестирует окно из фрейма), тем самым изобразив некую асинхронность. В противном случае могут возникать проблемы в некоторых браузерах с самим нажатием кнопки завершения всплывающего окна.
Хотя, если тест нажатия кнопки в самом окне сделать через setInterval , то предыдущие замечания не актуальны

nerv_
04.02.2015, 23:38
Заморозить функцию до ответа другой
<iframe width="640" height="360" src="https://www.youtube.com/embed/EN5c59bQayw" frameborder="0" allowfullscreen></iframe>
:)