cefet_web

JavaScript parte 4

Estilizando elementos, Interação com campos, Eventos de mouse e o PhotoSnap 📷


Na última aula… (1/2)


Na última aula… (2/2)

  1. Alterando classes de um elemento:
    booEl.classList.toggle('selecionado');   // add, remove ou toggle (alternar)
    
  2. Alterando atributos de um elemento:
    pokemonLutandoEl.src = 'bulbasaur.png';  // qualquer atributo, aqui foi src
    
  3. Usando o argumento da callback de um evento:
    booEl.addEventListener('click', function(e) {
      let clicadoEl = e.currentTarget;       // elemento alvo (target) do evento
      clicadoEl.classList.toggle('selecionado');
    });
    

Hoje veremos

  1. Estilizando elementos dinamicamente
  2. Interação com campos
  3. Eventos de mouse e formulário
  4. PhotoSnap 📷

Estilizando elementos dinamicamente

Alterando propriedades CSS de elementos


Alterando o estilo de elementos


Nomes das propriedades de estilo em JS


Usar classes ou elemento.style?


Exemplo: abelhinhas.js


Interação com campos

Campos de entrada e escolha


Caixa de texto (p/ usuário digitar)


Interagindo via JavaScript


Checkbox: caixinha de marcação


Radio: escolha dentro de um grupo


Select e options (lista de opções)


Interagindo via JavaScript (2)

  1. Verificando se um checkbox está marcado:

    let desejaInscreverEl = document.querySelector('#inscrever');
    let estaMarcado = desejaInscreverEl.checked;   // elemento.checked: true/false
    
  2. Pegando qual opção selecionada em um select:
    let saborPizzaEl = document.querySelector('#pizza');
    let sabor = saborPizzaEl.value;   // elementoSelect.value: valor da option
    
  3. Pegando qual a opção marcada em um grupo de radio:
    let corMarcadaEl = document.querySelector('[name="cor"]:checked');
    let cor = corMarcadaEl.value;   // elemento.value: valor do input
    
    • Repare o seletor: todo elemento com atributo name="cor" e que esteja no estado :checked (marcado)

Eventos de mouse e campos

Acionados mouse ou teclado


Eventos


Event handlers


Comparação: click vs mousedown vs mouseup


Comparação: mouseover vs mousemove vs mouseout


Pegando (x,y) do mouse


Exemplo: segue-mouse.js


Eventos de campos de formulários


PhotoSnap 📷

Registrando seus clicks



PhotoSnap 📷


Atributos de dados em HTML (1/2)


Atributos de dados em HTML (2/2)


Propriedade CSS filter


Referências