По сути, в настоящее время у меня есть функция пишущей машинки в JavaScript, которая создает эффект пишущей машинки. После того, как сценарий будет набран, я хочу, чтобы появилась нажимаемая кнопка с надписью «Далее» или что-то в этом роде.

Я думаю, что имеет смысл вызвать функцию CreateButton() в функции машинки после того, как код для эффекта печати будет готов. Однако я не уверен, как на самом деле написать функцию CreateButton(). Я только когда-либо создавал кнопки в файле html и настраивал их с помощью CSS. Как я могу создать настраиваемую кнопку через JS (если это вообще возможно?)

-4
coffeelemon 30 Май 2023 в 20:30
2
Мы пытались просмотреть ваш код, но... о, подождите, вы ничего не опубликовали. Пожалуйста, обновите свой вопрос, указав фактический код, который вы пробовали, чтобы мы могли помочь вам исправить его. Это может помочь вам stackoverflow.com/help/how-to-ask
 – 
Mark Schultheiss
30 Май 2023 в 20:33
1
Вы имеете в виду document.createElement('button')?
 – 
InSync
30 Май 2023 в 20:33
Возможно, вам будет проще включить кнопку в свой HTML-код с display: none по умолчанию, а затем включить класс, который настраивает его отображение на видимое, когда вы хотите, чтобы кнопка отображалась.
 – 
Daniel Beck
30 Май 2023 в 21:14

1 ответ

Вы не предоставили никакого собственного кода, поэтому у нас нет возможности ответить на ваш вопрос. Я постараюсь помочь, ответив, как бы я справился с вашей проблемой.

Предполагая, что у вас есть HTML-страница, которой вы управляете с помощью функций javascript, и предполагая, что вы спрашиваете, как «создать кнопку после того, как другая функция завершит то, что она делает», я бы обратился к ней, создав кнопку в HTML, установив ее свойство css ' видимость» на «скрытый», а затем функция Typewriter() обновляет свойство кнопки до «видимого» по завершении.

Пример кода того, как это произойдет:

const $button = document.querySelector("#button-id");

// this function is just here to delay before executing the rest of the function code
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

// async is only necessary for the delay, you don't have to use it.
async function TypeWriter() {
  console.log("The function is doing it's thing...");
  await sleep(2000);

  console.log("TypeWriter() finished it's work and made the button visible.");
  $button.style.setProperty('visibility', 'visible');
}

TypeWriter()
<button type="button" id="button-id" style="visibility:hidden;">Next</button>

Однако, если вы хотите создать кнопку исключительно с помощью JavaScript, то, как прокомментировал @InSync, я бы посмотрел на document.createElement() (пример учебного веб-сайта).

0
FlashAndromeda 30 Май 2023 в 21:02