Как продолжить цикл по кнопке?
Всем привет. Есть такой код:
//...
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, время: 16:20. |