JavaScript Básico

prof. Ricardo Artur

O que é JavaScript?

JavaScript é uma linguagem de programação que faz parte do padrão da web. Junto ao HTML e ao CSS o JavaScript (ou JS) é capaz de alterar o comportamento de uma página, mostrar e esconder elementos de uma página, alterar um elemento HTML ou CSS, entre várias outras possibilidades.

Com JS é possível também criar variáveis, funções, estabelecer loops, condições e diversas outras possibilidades características de outras linguagens de programação.

Alterar uma propriedade CSS com JS

Com o JS é possível alterar propriedades de um elemento. No exemplo abaixo o JS é usado ocultar e mostrar um elemento de página, ao alterar seu CSS pela propriedade display.

Clique nos botões para esconder/mostrar esse parágrafo

O código abaixo oculta o elemento com id "muda"

<button type="button" onclick="document.getElementById('muda').style.display='none'">Esconder</button>

O código abaixo mostra o elemento com id "muda"

<button type="button" onclick="document.getElementById('muda').style.display='block'">Esconder</button>

Na prática a propriedade CSS display foi alterada para "none" e fez o parágrafo sumir. Para o parágrafo voltar a aparecer, o valor passou para "block".

Alterar o conteúdo do HTML com JS

O JS também permite alterar um determinado conteúdo. Por exemplo o conteúdo do título abaixo <h2> pode ser alterado preenchendo o campo indicado.

Alterar o conteúdo do HTML com JS

O resultado acima é obtido usando HTML e JS. No HTML estabelecemos um título <h2>, um campo de entrada de texto <input type="text"> e botões <button> da seguinte maneira:

<h2 id= "escreve">Alterar o conteúdo do HTML com JS</h2>
<label>Novo título: </label> <input type ="text" id = "nome">
<button onclick ="return escreveH()">Enviar</button>
<button onclick ="return reiniciaH()">Reiniciar</button>

Em seguida, ao final da página HTML adicionamos o seguinte código em JavaScript:

<script>
   var texto;
   function escreveH(){
     texto = document.getElementById("nome").value;
     if (texto == ""){
       alert("o texto está vazio");
     }
     else {
       document.getElementById("nome").innerHTML = texto;
     }
   }
   function reiniciaH(){
    document.getElementById("nome").innerHTML = "Alterar o conteúdo do HTML com JS";
   }
</script>

Notamos que para cada um dos botões uma função foi criada. Para o botão "Enviar" temos a função "escreveH" que é responsável por ler o texto do <input> e enviar para o <h2>.

Já o botão "Reiniciar" emprega a função "reiniciaH", que atribui o texto "Alterar o conteúdo do HTML com JS" ao <h2>.

Destacamos também o uso de uma condição (if/else). A condição estabelece que se o texto estiver vazio ( if (texto == "") ), manda um alerta comunicando que o campo não foi preenchido. Do contrário (else) a função escreve o texto preenchido no <h2>.

A seleção do elemento HTML se dá pela propriedade document.getElementById() que localiza o elemento a partir do id atribuído a ele. No exemplo, o id atribuído foi "nome".

Já para escrever sobre o conteúdo de uma tag, utiliza-se o comando .innerHTML. O comando foi empregado para sobrescrever um conteúdo pré-existente.

Alterando propriedades em tempo real

Uma das possibilidades que o JS oferece é alterar uma propriedade de um elemento HTML ou CSS em tempo real. Abaixo vemos um exemplo em que os sliders HTML (<input type="range'>) são usados para pegar valores RGB e aplicar no fundo (background-color) da <div>.

Mude a cor da caixa com os sliders

 

No HTML cada slider controla valores de 0 a 255. Depois cada valor é capturado e processado pelo JS. Um retorno imediato ocorre na legenda do valor ao lado do slider que fica à sua direita. Outro retorno é a aplicação dos valores no código RGB. O código JS fica assim:

<script>
var slideR  = document.getElementById("corR");
var slideG  = document.getElementById("corG");
var slideB  = document.getElementById("corB");

var printR  = document.getElementById("valR");
var printG  = document.getElementById("valG");
var printB  = document.getElementById("valB");

printR.innerHTML = slideR.value;
printG.innerHTML = slideG.value;
printB.innerHTML = slideB.value;

var corRGB = 'rgb'(' + slideR.value  +   ',' + slideG.value  +  ','  + slideB.value  +  ')';

atualCor();

function() atualCor(){
   corRGB = 'rgb'(' + slideR.value  +   ',' + slideG.value  +  ','  + slideB.value  +  ')';
   document.getElementById("meuBox").style.backgroundColor =  corRGB;
   }

slideR.oninput =  function(){
   printR.innerHTML = this.value;
   atualCor();
   }

slideG.oninput =  function(){
   printR.innerHTML = this.value;
   atualCor();
   }

slideB.oninput =  function(){
   printR.innerHTML = this.value;
   atualCor();
   }      
</script>

Voltar ao topo