Как продолжить цикл по кнопке?
Всем привет. Есть такой код:
//... var x=1; for(var i=0; i<3; i++) { //какой-то код for(var i2=0; i2<5; i++) { //тоже какой-то код } x--; if(x==1) { continue; } else { break; } } row += '<button onclick="return false; b++;">Далее</button></form>'; $('#feeds').html(row); //... Цикл делает только один круг и останавливается, так как я изменяю значение переменной x в первом цикле. Как можно сделать, чтобы после нажатия кнопки он продолжился дальше? Нажимаю кнопку, значение переменной x увеличивается на единицу, т.е. по идее снова соблюдается условие продолжения цикла. Но он все равно стоит на месте. Что я делаю не так? |
Цитата:
Цитата:
Цитата:
Цитата:
если ты надеешься что во время работы цикла ты можешь нажать на кнопку и код кнопки отработает параллельно с работой цикла-он отработает после того как отработает код вызванный до нажатия кнопки |
Тут неправильно написал. У меня в скрипте x++
|
Так как тогда сделать, чтобы по кнопке он дальше продолжил работу?
Понял, оператор break тут лишний. Нужен только continue. Но все равно как сделать? |
Сделал так, но все равно не работает:
//... var x=1; for(var i=0; i<3; i++) { //какой-то код for(var i2=0; i2<5; i++) { //тоже какой-то код } x--; if(x==1) { continue; } } row += '<button onclick="return false; x++;">Далее</button></form>'; $('#feeds').html(row); //... Почему он полностью выполняет цикл, если я вычел единицу из переменной x? |
тебе уже сказали: используй функции.
x=false; function button() { if (x) alert('button') } /* тут ты творишь там что-то*/ x=true; button(); x=false; button(); x=true; button(); |
Цитата:
Цитата:
Цитата:
в твоём случае кнопка появляется после того как цикл отработал. а еслиб кнопка была до цикла, то код её нажатия выполнился бы только после того как цикл полностью отработал бы |
Вот полностью код:
$(document).ready(function(){ $('form input:image').click(function() { var drink = $('input[name=drink]:checked').val(); $.post('save_data.php', {drink: drink}, function(data){ if(data) { var fieldsCount = data.length; var row = ''; var b = 1; if(fieldsCount) { row = '<form>'; for (var i in data) { row += '<b>' + data[i].questions + '</b><Br>'; var ss = data[i].answers.split(','); for (var i2 = 0; i2<ss.length; i2++) { row += '<input type="radio" name="id_answer'+i+'" value="' + i2 + '">' + ss[i2] + '<Br>'; } b--; if(b==1) { continue; } } row += '<button onclick="return false; b++;">Далее</button></form>'; $('#feeds').html(row); } } }, "json"); return false; }); }); Вообщем он должен вывести сначала первый вопрос и варианты ответов, а как нажимаешь кнопку, вывести другой вопрос с другими вариантами. Помогите, ну не знаю как сделать:( |
<form>
<input type="button" name="putButton" id="putButton" value="Click" onclick="click()"> </form> <script> var x = 0; function click() { for (var i = 0; i < 1; i++) { x++; if (x <= 5) { alert(x); continue; } else { break; } } } </script> |
Часовой пояс GMT +3, время: 08:08. |