Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.11.2012, 18:25
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Как продолжить цикл по кнопке?
Всем привет. Есть такой код:
//...
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 увеличивается на единицу, т.е. по идее снова соблюдается условие продолжения цикла. Но он все равно стоит на месте. Что я делаю не так?
Ответить с цитированием
  #2 (permalink)  
Старый 29.11.2012, 19:44
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Dimaz
Нажимаю кнопку, значение переменной x увеличивается на единицу,
где?
Сообщение от Dimaz
onclick="return false; b++;">
Сообщение от Dimaz
Как можно сделать, чтобы после нажатия кнопки он продолжился дальше?
открой для себя функции
Сообщение от Dimaz
Но он все равно стоит на месте. Что я делаю не так?
а собственно почему он должен работать ? он уже отработал.
если ты надеешься что во время работы цикла ты можешь нажать на кнопку и код кнопки отработает параллельно с работой цикла-он отработает после того как отработает код вызванный до нажатия кнопки

Последний раз редактировалось dmitriymar, 29.11.2012 в 19:47.
Ответить с цитированием
  #3 (permalink)  
Старый 29.11.2012, 19:50
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Тут неправильно написал. У меня в скрипте x++
Ответить с цитированием
  #4 (permalink)  
Старый 29.11.2012, 19:52
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Так как тогда сделать, чтобы по кнопке он дальше продолжил работу?
Понял, оператор break тут лишний. Нужен только continue. Но все равно как сделать?

Последний раз редактировалось Dimaz, 29.11.2012 в 19:55.
Ответить с цитированием
  #5 (permalink)  
Старый 29.11.2012, 20:07
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Сделал так, но все равно не работает:
//...
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?
Ответить с цитированием
  #6 (permalink)  
Старый 29.11.2012, 20:10
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

тебе уже сказали: используй функции.
x=false;

function button() {
   if (x) alert('button')
}
/* тут ты творишь там что-то*/
x=true;
button();
x=false;
button();
x=true;
button();
__________________
оляля, ололо
Ответить с цитированием
  #7 (permalink)  
Старый 29.11.2012, 20:19
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Dimaz
Почему он полностью выполняет цикл, если я вычел единицу из переменной x?
Сообщение от Dimaz
if(x==1) {
continue;
}
ну а где ты ему сказал break ?
Сообщение от Dimaz
Так как тогда сделать, чтобы по кнопке он дальше продолжил работу?
Понял, оператор break тут лишний. Нужен только continue. Но все равно как сделать?
ничего ты вообще не понял. нельзя выполнить код во время того как другой код выполняется.
в твоём случае кнопка появляется после того как цикл отработал.
а еслиб кнопка была до цикла, то код её нажатия выполнился бы только после того как цикл полностью отработал бы

Последний раз редактировалось dmitriymar, 29.11.2012 в 20:23.
Ответить с цитированием
  #8 (permalink)  
Старый 29.11.2012, 20:42
Профессор
Отправить личное сообщение для Dimaz Посмотреть профиль Найти все сообщения от Dimaz
 
Регистрация: 25.12.2009
Сообщений: 222

Вот полностью код:
$(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;
});
});

Вообщем он должен вывести сначала первый вопрос и варианты ответов, а как нажимаешь кнопку, вывести другой вопрос с другими вариантами. Помогите, ну не знаю как сделать
Ответить с цитированием
  #9 (permalink)  
Старый 28.09.2017, 12:49
Новичок на форуме
Отправить личное сообщение для A_Kto Посмотреть профиль Найти все сообщения от A_Kto
 
Регистрация: 28.09.2017
Сообщений: 1

<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>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как обработать бесконечный цикл? Iktash Элементы интерфейса 3 16.11.2012 10:26
Как поместить javascript в php цикл do{} while() galap Общие вопросы Javascript 4 09.04.2010 14:57
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56
Как приостановить выполнение цикла? SashaBorandi jQuery 3 13.02.2009 08:57