Javascript.RU

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

Как в цикле дождаться выполнения функции(клика)?
Добрый день. Имеется скрипт, который запрашивает данные из php, выводит на html страницу 3 кнопкокартинки и по клику на одну из них выдает ссылку на эту картинку.
В одной итерации это срабатывает хорошо.
После добавления цикла как и ожидалось цикл проходит весь и выводит кучу картинок, но надо чтобы выдавал по очереди...
Тоесть g =3 прогнал, выдал картинки и ждет клика.
Клик произошел, плюсует g и возвращается вначало..
Как это сделать? Спасибо заранее!!

var g = 2;
while (g < 4) {
function set_mode_view(element){
$("#test_value").append(element.firstChild.currentSrc);
flag = true;
}
                
$(document).ready(function(){
$.get("getex.php?", { i: g})
 
    .done(function(data) {
    console.log(data);
              $.ajax({
              type: 'POST',
              url: 'im.php',
            dataType: 'json',
            cache: false,
              success: function(result) {
 
                $("#test_value").append('<style>img {height: 100px; width: 100px;}</style><button onclick="set_mode_view(this)"><img src="'+result.url1+'" alt="Кнопка «button»"></button><button onclick="set_mode_view(this)"><img src="'+result.url2+'" alt="Кнопка «button»"></button><button onclick="set_mode_view(this)"><img src="'+result.url3+'" alt="Кнопка «button»"></button>');
              },
              });
    });
 
});
g++;
}
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2018, 16:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от psyapathy
надо чтобы выдавал по очереди...
Тоесть g =3 прогнал, выдал картинки и ждет клика
А зачем здесь вообще цикл?
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2018, 16:35
Новичок на форуме
Отправить личное сообщение для psyapathy Посмотреть профиль Найти все сообщения от psyapathy
 
Регистрация: 19.04.2018
Сообщений: 2

Сообщение от laimas Посмотреть сообщение
А зачем здесь вообще цикл?
А вот в 9 строчке вместо g подставляется цифра и запрашивает соответвенно например getex.php?i=2(3,4 итд) и получает разные значения из php скрипта
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2018, 16:43
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var g = 2;
while (g < 4) {


это конструкция просто повесит браузер.
Ответить с цитированием
  #5 (permalink)  
Старый 19.04.2018, 16:52
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

psyapathy,
пусть у вас на севере N изображений, которые нужно получить на клиенте частями по M штук. Для этого достаточно передавать на сервер смещение в массиве изображений, которые нужно получить. При этом если сервер вернул пусто, значит все получено.

То есть, сначала параметр запроса равен 1, сервер отдает срез массива (1-1)*M, M, клиент получает, увеличивает параметр запроса на 1, и т.д. Цикл тут совсем не нужен.

Последний раз редактировалось laimas, 19.04.2018 в 17:00.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как дождаться окончания цикла обещаний? denni Angular.js 4 14.05.2015 10:11
Как поставить тайм-аут для выполнения скрипта cln2008 Общие вопросы Javascript 7 23.09.2009 14:57
Как установить обработчик в цикле? voidd Общие вопросы Javascript 11 13.09.2009 13:31
как отобразить в окне значения счетчика во время выполнения цикла FOR Алекс97 Общие вопросы Javascript 5 06.09.2008 10:36
как дождаться AJAX ответа scuter Общие вопросы Javascript 3 23.03.2008 05:54