Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Цикл доходит до кнопки, а по нажатию на неё продолжает работу (https://javascript.ru/forum/events/68142-cikl-dokhodit-do-knopki-po-nazhatiyu-na-nejo-prodolzhaet-rabotu.html)

DenisIvanov 28.03.2017 14:32

Цикл доходит до кнопки, а по нажатию на неё продолжает работу
 
Вложений: 1
Добрый день! В JavaScript я только учусь и решил "сваять" программулину для вывода примеров на сложение и вычитание. Имеется форма, в которую пользователь вводит кол-во примеров и передельный результат (для суммы). Имеется следующий код:

Извиняюсь, не получилось у меня вставить код сюда, говорит что я пытаюсь сделать что-то не правильное. Код во вложении.

Вопрос собственно говоря в том, чтобы while доходя до блока с кнопками вариантов ответа ждал нажатия кнопки. При нажатии уходил на следующий круг.

PS: подскажите как правильно писать сообщение чтобы код тоже был в сообщении.

рони 28.03.2017 15:07

DenisIvanov,
попробуйте вставлять код из расширенного режима
кнопка Расширенный режим

код посмотрел, не понял ни ваше описание, ни ваш код.
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

DenisIvanov 28.03.2017 16:58

Вложений: 1
Не вставляет код даже с форматированием. Доходит до var but1 = '<input type= "button" onclick=alert("Good") value =' + s + '>'; Хотя если просто вставлять код с этой строки - вставляется без проблем. Можно было бы разбить на два сообщения, просто не хочу их плодить. Перебрал код во вложении, добавил комментов для большей ясности (мне так кажется).

Функция вызывается кнопкой, которая передает кол-во примеров и максимально возможный результат. В самой функции кнопки с вариантами ответов создаются скриптом. При нажатии на один из вариантов должен появляться следующий пример.

рони 28.03.2017 17:09

DenisIvanov,
может кто другой сможет вам помочь, я вас не понимаю, ни код, ни описание.

DenisIvanov 29.03.2017 11:08

Дико извиняюсь. Спасибо что тратите на меня время. Скажу совсем просто. В следующем примере цикл прерывается alert'ом и при нажатии на "ОК" продолжается:
for (i=0; i<5; i++){
  alert ("I: " + i);
}

А мне необходимо что бы он останавливался на кнопке и при нажатии на нее продолжался. (Кнопка создается скриптом).
Спасибо.

рони 29.03.2017 11:45

DenisIvanov,
может попробуите, как-то иначе, описать вашу программу?

DenisIvanov 29.03.2017 14:33

Попробую как-то иначе.
Во вложении два файлика. Их необходимо переименовать: new_str_2.html, new_script.js. (Выложил как есть ничего не подправлял).
Здесь выводится заданное пользователем количество примеров на отдельную страницу. А я хочу сделать чтобы они появлялись один за другим после ответа на пример. Что-то типа теста: вопрос - нажал на кнопку с ответом - следующий вопрос.

рони 29.03.2017 14:39

DenisIvanov,
:-? ................................ врятли будут желающие что-то переименовывать и компоновать ...
может чем ссылка ниже вам поможет ...
http://javascript.ru/forum/css-html/...tml#post369143

рони 29.03.2017 15:16

Вопросник, кнопка next
 
DenisIvanov,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>

  <script>
    window.addEventListener('DOMContentLoaded', function() {
     var arr = ["1 вопрос","2 вопрос"];
      var node = document.querySelector('.slider'),
          btn = document.querySelector('.btn');
      btn.addEventListener('click', function create() {
                node.innerHTML = arr.length ? arr.shift() : "ваш результат";
      });
        });
  </script>
</head>

<body>
<div class="slider">чтобы пройти тест нажмите кнопку ниже</div>
<input class="btn" type="button" value="next">
</body>
</html>

DenisIvanov 29.03.2017 16:25

Благодарю. С этим примером я думаю получится.:thanks:


Часовой пояс GMT +3, время: 13:48.