7
respostas

Ainda sobre exibir o aler intercaldo com o cocument.

conforma já foi mencionado em dois posts acima, com o código digitado conforme a aula não é possível, no chrome, exibir as frases e o alert intercalados. existe alguma forma de alterar a função para conseguirmos fazer isso?

7 respostas

Bom dia Everton, beleza?

Quer compartilhar o código com a gente? Dependendo já tento te ajudar!

Abraços.

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        alert("oi");
        document.write("<br>");
        document.write("<br>");

}

var ano = 2016;

document.write("Flávio tem " + (ano - 1977) + " anos");

document.write("Joaquim tem " + (ano - 1996) + " anos");

ano = 2017;

document.write("Barney tem " + (ano - 1976) + " anos");

</script>

dessa forma, no chrome, primeiro exibe 3 vezes a caixa de dialogo, depois ele exibe as 3 idades de uma vez. Qual seria a forma de mostrar a frase 1 e um alert, depois a frase 2 e outro alert, e depois a frase 3 e um alert. Conforme foi mostrado em aula ? Nos posts acima citaram que é uma configuração do navegador citado, e que no mozila essa sintaxe alcançaria esse resultado esperado. Mas de que forma eu poderia implementar o código para que desse certo no Chrome?

Obg pela disponibilidade :-)

Bom vamos lá!

vou te mostrar a forma mais simples depois uma forma mais elegante de fazer, beleza?

1ª Forma (sem usar funções):

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        alert("oi");
        document.write("<br>");
        document.write("<br>");

}

var ano = 2016;

alert("Flávio tem " + (ano - 1977) + " anos");

alert("Joaquim tem " + (ano - 1996) + " anos");

ano = 2017;

alert("Barney tem " + (ano - 1976) + " anos");

</script>

Note que precisamos somente alterar o "document.write" nas suas "strings" para "alert", a sintaxe do alert() como vc pode ver é bem simples.

Por exemplo:

alert("Frase que vc deseja exibir entre aspas"); // No Caso de uma String
alert(80); // No Caso de Número
variavel = "Olá Mundo!";
alert(variavel); // No caso de Variaveis
alert("Alert com concatenação de valores! " + variavel + "Número: " + 80); // Contatenando valores

Agora alguns ajustes caso queira deixar seu código mais legível, usando funções para fazer a chamada.

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        alert("oi");
        document.write("<br>");
        document.write("<br>");

    }


    function exibeAlert(frase){
        alert(frase);
    }


var ano = 2016;

exibeAlert("Flávio tem " + (ano - 1977) + " anos");

exibeAlert("Joaquim tem " + (ano - 1996) + " anos");

ano = 2017;

exibeAlert("Barney tem " + (ano - 1976) + " anos");

</script>

Note que foi atribuído somente uma função "exibeAlert" que pode receber qualquer valor como parâmetro e o mesmo será atribuído dentro de um "alert", é algo bem simples e justamente para mostrar como é possível manipular eventos ou expandir seu código.

Qualquer dúvida ou necessidade de algo pode chamar beleza?

Abraços!

Ola, Rodrigo. Muito obrigado por responder. no entanto acabei me explicando mal. o que eu gostaria de fazer é exibir as frase como texto em tela mesmo, não como alert. É exatamente o que temos em aula.

quando eu utilizo este código, (que é idêntico ao usado em aula), o resultado não ocorre como o esperado. .....

....

minha intenção com este código é que o alert e o document.write ocorressem alternadamente. Em vez disso, o que acontece, é o alert aparecer 3 vezes consecutivamente, e em seguida as três frases serem impressas na tela ao mesmo tempo.

como eu poderia

Olha Everton, até tem como vc fazer algo assim, mas no caso vc terá que alterar a sua estrutura de código para trabalhar com eventos.

Por que o seu código atualmente está seguindo um "fluxo", isto é, digamos que ele já está executando tudo de uma vez só.

Então primeiro será executado todos os alerts (mostrando para vc na tela) e depois vc realmente terá acesso ao conteúdo por de trás dos alerts.

Por Exemplo:

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        alert("oi");
        document.write("<br>");
        document.write("<br>");

}

var ano = 2016;

document.write("Flávio tem " + (ano - 1977) + " anos"); // 1ª a ser executado - 4ª a ser mostrado na tela

document.write("Joaquim tem " + (ano - 1996) + " anos"); // 2ª a ser executado - 4ª a ser mostrado na tela

ano = 2017;

document.write("Barney tem " + (ano - 1976) + " anos"); // 3ª a ser executado

alert('Teste 1'); // 4ª a ser executado - 1ª a ser mostrado na tela

alert('Teste 2'); // 5ª a ser executado - 2ª a ser mostrado na tela

alert('Teste 3'); // 6ª a ser executado - 3ª a ser mostrado na tela



</script>

Note os comentários pra vc entender um pouco melhor. É como se o alert tivesse uma prioridade quando estiver "junto" ou no "mesmo fluxo" do seu código.

Existem alguns controladores de Eventos usando javascript, como por exemplo "onclick", com ele vc poderia clicar em determinada tag HTML e disparar um evento de Alert por exemplo, recomendo que de uma olhada depois com um pouco mais de calma.

huun. entendi, Rodrigo. Na vdd comecei a programar essa semana, kakaka. tenho que estudar mais pra ir aprofundando nos temas. Mas muito obrigado pela ajuda. agradeço demais

Opa Everton, fique tranquilo! de inicio é assim, mas qualquer coisa pode continuar usando o Fórum que o pessoal ajuda sempre que possível!

Abraços!