Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre o <button>

Olá, pessoal. Eu estou tentando criar meu próprio jogo com base no que já foi apresentado no curso, mas estou com uma dificuldade. É possível fazer com que o botão apareça em algum momento futuro e não no início do programa? E é possível criar mais de um botão? Este é o que criei até agora:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function exibir(frase) {

        document.write("<h2>" + frase + "</h2>");
        pulaLinha();
    }

var nomePersonagem = "";

// alert("Jogo pensado, criado e programado por: Gabriel Prates Vieira. Este deseja-lhes uma´ótima jogatina!");

exibir ("Você é um(a) jovem que perdera os pais em uma batalha atroz, ocorrida há duas décadas, contra uma maga das trevas que assolava sua aldeia natal. Essa maga manipulava a magia do Caos, e era capaz de espalhar dor e agonia por onde passsava. Todavia, sua vida fora salva por um druída meio-elfo, Leafy, muito amigo de seus pais, que levou você para as gélidas montanhas de HolyRealm, montanha esta que possuía um feitiço divino tão poderoso que nenhum manipulador da magia do Caos podia adentrar.");


</script>

<button>Prosseguir</button>

<script>

var button = document.querySelector("button");
button.onclick = continuar;

function continuar() {

    alert("Esta estória inicia-se 10 anos no passado.");
    alert ("Por gentileza, insira o nome de seu personagem");
    nomePersonagem = prompt();



   if (nomePersonagem != "") {

    exibir ("Dez anos haviam se passado desde o acidente. Leafy e Você não se atreveram a adentrar as montanhas, mas você não sabia ao certo por que, apenas havia aceitado.");

    exibir ("Leafy: Então, " + nomePersonagem + ", hoje você está completando 11 anos, correto? O que acha de irmos caçar uns lobos da neve pro jantar? São seu prato favorito.");
}
    }

</script>

<button>Prosseguir</button>

<script>

var button = document.querySelector("button");
button.onclick = continuar2;

function continuar2() {

   exibir("E o jogo continua");

   }

Queria que esse segundo botão aparecesse somente depois que o primeiro fosse pressionado e os outros textos aparecessem. Alguém conseguiria me ajudar? (o texto do continuar2 é somente para teste, não é o que ficará.) Seria importante ter vários botões, pois minha intenção é criar um jogo de múltipla escolha.

3 respostas

Oi Gabriel

É possível sim, no curso não será abordado a criação dinâmica de elementos, mas você pode olhar aqui na documentação sobre o createElement

https://developer.mozilla.org/pt-BR/docs/Web/API/Document/createElement

Olá, Guilherme. Saberia me informar se em algum outro curso da Alura esse assunto é abordado? Porque essa documentação que você anexou está muito confusa pra mim, Não entendi sequer como isso me ajuda a criar um botão que aparecerá só se for chamado. Ainda sou bem novato em programação. Desde já, agradeço.

solução!

Oi Gabriel

É interessante você ir avançando nas trilhas de programação e assim irá conseguir entender melhor alguns detalhes.

Este curso aqui aborda a criação de elementos: https://cursos.alura.com.br/course/javascript-programando-na-linguagem-web

Mas fique atento aos pré-requisitos para conseguir aproveitar bem ele.

Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.