Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.10.2012, 17:28
Новичок на форуме
Отправить личное сообщение для sliv Посмотреть профиль Найти все сообщения от sliv
 
Регистрация: 07.10.2012
Сообщений: 3

Остановить функцию внутри другой функции
Народ, есть такая проблема. Есть 2 кнопки. Нажимаем на одну из них, ей присваивается ай-ди. Затем проверяем кнопку с полученным ай-ди. Если валью == 0, то при нажатии на третью кнопку с id="0but" выполняется одна функция, если ==1, то другая.
Проблема в том, что при повторном нажатии на какую-либо из первых двух кнопок и затем кликании на третью, происходит уже выполнение 2-х функций, ну и так далее. В общем, как остановить выполнение предыдущей функции при повторном нажатии на одну из двух первых кнопок?
Вот хтмл:
<div class="btn-group main" data-toggle="buttons-radio">
<button class="btn" value="0">Менее 4-х</button>
<button class="btn" id="selBut" value="1">Более 4-х</button>
</div>
<div class="btn-group" data-toggle="buttons-checkbox" id="but_gr">
<p>Убрать мутность: <button class="btn" id="0but">Компонент 1</button></p></div>

Вот скрипт:
$('.main button').click(function(){
$('#selBut').removeAttr('id');
$(this).attr('id','selBut');
if($('#selBut').attr('value')==0){
$('#0but').click(function(){
alert("1");
});
}
else if($('#selBut').attr('value')==1){
$('#0but').click(function(){
alert("0");
});
}
});
Ответить с цитированием
  #2 (permalink)  
Старый 07.10.2012, 17:54
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

что значит остановить? может выйти из неё?. проверять какое то условие и делать return
Ответить с цитированием
  #3 (permalink)  
Старый 07.10.2012, 17:59
Новичок на форуме
Отправить личное сообщение для sliv Посмотреть профиль Найти все сообщения от sliv
 
Регистрация: 07.10.2012
Сообщений: 3

Хорошо. Можно ли в данном случае при первичном нажатии на одну из первых двух кнопок проверить выполняется ли уже функция, стартующая при нажатии на третью кнопку и ,если да, то выйти из нее?
Ответить с цитированием
  #4 (permalink)  
Старый 07.10.2012, 18:01
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от sliv
а одну из первых двух кнопок проверить выполняется ли уже функция
можно поставить флаг какойто при начале выполнения функции и по окончании его убирать. Состояние флага -проверять можно
Ответить с цитированием
  #5 (permalink)  
Старый 07.10.2012, 18:02
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

функции выполняются с точки зрения пользователя - моментально, он не может успеть их остановить или запаузить.

п.с. тред не читал
Ответить с цитированием
  #6 (permalink)  
Старый 07.10.2012, 18:07
Новичок на форуме
Отправить личное сообщение для sliv Посмотреть профиль Найти все сообщения от sliv
 
Регистрация: 07.10.2012
Сообщений: 3

Сообщение от dmitriymar Посмотреть сообщение
можно поставить флаг какойто при начале выполнения функции и по окончании его убирать. Состояние флага -проверять можно
Спасибо за идею, попробуем реализовать!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить данные в функции, которая работает с другой функцией. Andrej_2 Общие вопросы Javascript 5 27.09.2012 22:42
Можно ли писать определение функции внутри document.ready()? Fatalityap jQuery 7 10.06.2012 03:35
как запустить функцию после другой функции Rentony jQuery 7 07.02.2012 18:01
изменение значения глобальной переменной внутри функции mgmarket Серверные языки и технологии 14 13.09.2011 00:56
Передача функции другой функции ntro123 jQuery 3 20.02.2011 12:15