Здравствуйте комьюнити! Делаю игру “Камень, ножницы, бумага”. Сначала сделал с выводом через prompt, но захотелось сделать с кнопками и выводом результата в document.write. Подскажите как вывести всё получившиеся на веб-страницу. P.s. код прилагаю.
document.write для этого совсем не подходит. Он работает в потоке (пока грузится страница). Вызов его вне потока приведет к полному переписывания всей страницы. Вы создаете кнопки через createElement также нужно и создать например div вывода результата партии. И вносить сам результат через innerText или innerHTML
Что такое handleClick? Почему в нем продублирована функция play? Вы используете myButton а он нигде не описан.
Наверное myButton это кнопка начала партии.
Попробуйте написать алгоритм. Например:
Сделать html с кнопкой myButton, и контейнером div для вывода кнопок и результата.
Навесить обработчик, который по нажатию кнопки будет заполнять контейнер 3-мя кнопками выбора хода (камень ножницы бумага).
Навесить на каждую из кнопок выбора хода обработчик клика.
Определить какая кнопка была нажата, получить результат компьютера и вывести результат партии в контейнер вместо кнопок выбора
Прошу прощения, я только начинаю погружаться в JS, не могли бы вы в виде кода представить выше написанное, чтобы я на примере уже разобрался. Благодарю!
Вывод данных в документ через document.write работает только на этапе загрузки страницы, до всякого взаимодействия с пользователем. Когда делаешь document.write после загрузки страницы, то все содержимое страницы замещается тем что за-document.write-илось.
В коде уже используется вывод данных в дом через innerText. Этим же методом можно выводить данные, результаты игры. Или, например, вариант через innerHTML, если нужна динамическая разметка а не только динамический текст.
Общая стратегия в подобной ситуации: получить ссылку на DOM узел, и меняеть его содержимое внутри обработчика реагирующего на пользовательское взаимодействие (считай клик).
Стратегия сравнения строк не самая надежная, но для начала сойдет. (так же как и document.write удобен на ранних этапах понимания, но на последующих от него нужно отходить).