M08 - JavaScript Front-End
M08 - JavaScript Front-End
Manipulando Elementos
1
JAVASCRIPT NO FRONT-END
É UM SUBSTITUTO AO
CSS ANIMATION?
Você se lembra...
● Um arquivo externo
<script src=”caminho_do_arquivo.js”></script>
Document
HTML
Head Body
Meta Header p
Legenda: Document
Elementos
HTML
Head Body
Meta Header p
Legenda: Document
Elementos
Atributos
HTML
Head Body
Meta Header p
Legenda: Document
Elementos
Atributos
HTML
Texto
Head Body
Meta Header p
.selecionado.style.borderColor = ‘blue’................................
selecionado.style.cssText permite alterar uma lista de estilos em um único
comando. Basta adicionar a listagem como é feito na
linguagem CSS:
https://developer.mozilla.org/pt-BR/docs/Web/API/Document_Object_Mod
el/Introduction
https://developer.mozilla.org/pt-BR/docs/Web/API/Document/querySelec
tor
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style
JS Front
Vinculaç
ão
Vinculação interna
Índice Vinculação externa
JS Front Vinculação 17
Vinculação
1 Interna
JS Front Vinculação 18
JS Front
Vinculação Interna
Permite escrevermos o código Js diretamente na página HTML.
MAS, NÃO É O MAIS INDICADO!
<body>
…
<script>
{}
console.log(“Olá Mundo!”);
</script>
</body>
JS Front Vinculação 19
Vinculação
2 Externa
JS Front Vinculação 20
JS Front
Vinculação externa
Permite ligar nosso arquivo HTML com um arquivo JS externo.
<body>
…
{}
<script src=“js/main.js”></script>
</body>
JS Front Vinculação 21
JS Front
Vinculação externa
Lembre-se de que, com o uso de links (vinculação) externos, não é
necessário escrever as tags <script> dentro do nosso arquivo .js.
{}
console.log(saudacao);
JS Front Vinculação 22
JS
Front
Seletor
es
1. querySelector()
Índice 2. querySelectorAll()
3. getElementById()
JS Front Vinculação 24
Para acessar os elementos de
uma página, usamos seletores.
Cada seletor pode retornar um
único elemento ou uma lista
de elementos.
JS Front Vinculação 25
Para fazer uso dos seletores, devemos
fazer uso do objeto document, uma vez
que os seletores são métodos dele.
JS Front Vinculação 26
1 querySelector()
JS Front Vinculação 27
JS Front
querySelector()
Esta função recebe uma String que indica o seletor CSS que estamos
procurando.
Por exemplo:
{}
let titulo = document.querySelector('.title');
É importante declarar uma variável para armazenar os dados que o seletor nos traz,
caso contrário, o perderíamos quando o programa prosseguir.
JS Front Vinculação 28
2 querySelectorAll()
JS Front Vinculação 29
JS Front
querySelectorAll()
Esta função recebe uma String que indica o seletor CSS que estamos
procurando.
Por exemplo:
{} let nombres=document.querySelectorAll('.name');
JS Front Vinculação 30
3 getElementById()
JS Front Vinculação 31
JS Front
getElementById()
Esta função recebe uma String com apenas o nome do id do elemento DOM
que estamos procurando.
Por exemplo:
{} let marca=document.getElementById('marca');
JS Front Vinculação 32
JS Front
Comparando Selectores
JS Front Vinculação 33
JS Front
Modifican
do
o DOM
Para fazer modificações no DOM,
precisamos ter o objeto que queremos
modificar selecionado. Podemos fazer
isso usando seletores!
JS Front Vinculação 35
.innerHTML
Índice .innerText
Propriedade style
JS Front Vinculação 36
1 .innerHTML
JS Front Vinculação 37
JS Front
.innerHTML
Se quisermos ler ou modificar o conteúdo de uma tag HTML, vamos usar
esta propriedade:
{} document.querySelector('div.nome').innerHTML ;
Nesse caso, nós a usamos para ler o conteúdo. Mas e se quisermos modificá-la?
JS Front Vinculação 38
JS Front
.innerHTML
Se quisermos modificar o conteúdo de uma tag HTML, vamos usar esta
propriedade:
{} document.querySelector('div.nome').innerHTML = '<strong>Daniel</strong>';
JS Front Vinculação 39
JS Front
.innerHTML
Se quisermos modificar o conteúdo de uma tag HTML, vamos usar esta
propriedade:
{} document.querySelector('div.compras').innerHTML += '<i>Pipoca</i>';
JS Front Vinculação 40
2 .innerText
JS Front Vinculação 41
JS Front
.innerText
Se quisermos ler ou modificar o texto de uma tag HTML, vamos usar esta
propriedade:
{} document.querySelector('div.nome').innerText ;
Nesse caso, se no meu div com a classe nome estivesse escrito "Leo", a
propriedade retornaria a String "Leo".
JS Front Vinculação 42
JS Front
.innerText
Se quisermos modificar o texto de uma tag HTML, vamos usar esta
propriedade:
{} document.querySelector('div.nome').innerText = 'Maria';
JS Front Vinculação 43
JS Front
.innerText
Se quisermos adicionar conteúdo ao texto de uma tag HTML, usaremos
esta propriedade da seguinte maneira:
{} document.querySelector('div.nome').innerText += 'Messi';
JS Front Vinculação 44
3 Propriedade style
JS Front Vinculação 45
JS Front
Propriedade Style
Nos permite ler e sobrescrever as regras CSS que são aplicadas a um
elemento que selecionamos.
JS Front Vinculação 46
Modifican
do
Estilos
PROPRIEDADE STYLE
Ela nos permite ler e sobrescrever as regras CSS que são aplicadas a um
elemento que selecionamos.
titulo.style.color = “cyan”;
{}
titulo.style.textAlign = “center”;
titulo.style.fontSize = “12px”;
titulo.style.backgroundColor = “#dddddd”;
JS Front Vinculação 48
Modifican
do
classes
1. classList.add()
Índice 2. classList.remove()
3. classList.toggle()
4. classList.contains()
JS Front Vinculação 50
O Javascript possui uma propriedade
e vários métodos que nos permitem
realizar diversas ações com o atributo
class de um elemento.
JS Front Vinculação 51
1 classList.add()
JS Front Vinculação 52
classList.add()
Adiciona uma nova classe ao elemento selecionado.
Antes Depois
JS Front Vinculação 53
2 classList.remove()
JS Front Vinculação 54
classList.remove()
Remove uma classe existente do elemento selecionado.
Antes Depois
JS Front Vinculação 55
3 classList.toggle()
JS Front Vinculação 56
classList.toggle()
Checa se existe uma classe no elemento selecionado. Caso exista, remove a
classe do elemento. Caso não, adiciona a classe ao elemento.
Antes Depois
JS Front Vinculação 57
4 classList.contains()
JS Front Vinculação 58
classList.contains()
Permite perguntar se um elemento possui determinada classe. Retorna um
valor booleano.
JS Front Vinculação 59
Podemos usar o método .contains
para realizar operações lógicas
utilizando if/else.
JS Front Vinculação 60
Resumo
JS Front Vinculação 61
Javascript Front-end:
Eventos
62
O que vimos no Playground
● preventDefault()
Este método bloqueia o comportamento padrão de um evento
indicado, permitindo que no escopo do callback façamos
validações e alterações que julgamos necessárias.
Bora praticar!
Atividade I - Uma Homepage Diferente
JS Front Vinculação 74
onload
Índice onclick
preventDefault()
JS Front Vinculação 75
1 onload
JS Front Vinculação 76
JS Front
onload
O evento onload é um evento que permite que todo o script seja
executado quando o objeto de document dentro do objeto de
window estiver totalmente carregado.
window.onload = function(){
{} console.log('o documento está pronto');
}
JS Front Vinculação 77
2 onclick
JS Front Vinculação 78
JS Front
onclick
O evento onclick nos permite executar uma ação quando o
elemento ao qual estamos aplicando a propriedade é clicado.
btn.onclick = function(){
{} console.log('Você clicou!');
}
JS Front Vinculação 79
3 preventDefault()
JS Front Vinculação 80
JS Front
preventDefault()
O preventDefault () nos permite evitar que o evento padrão ou
nativo do elemento ao qual estamos aplicando seja executado.
Podemos usá-lo, por exemplo, para evitar que uma tag "a" se
comporte nativamente e faça outra coisa.
JS Front Vinculação 81
JS Front
preventDefault()
hiperlink.addEventListener('click', function(event){
{}
console.log('clicou');
event.preventDefault();
});
JS Front Vinculação 82
JS Front
preventDefault()
hipervinculo.addEventListener('click', function(event){
{}
console.log('clicou');
event.preventDefault();
});
Guardamos o elemento
Escutamos o evento
Prevenimos a ação nativa
JS Front Vinculação 83
JS Front
Eventos mais usados
JS Front Vinculação 84
Select
Documentação
Para mais informações, visite a documentação oficial, clicando no
seguinte Link.
JS Front Vinculação 85
JS Front
Aplican
do
Eventos
Um evento é uma ação que ocorre
no navegador e que é disparada
pelo usuário.
JS Front Vinculação 87
onload
Índice onclick
preventDefault()
JS Front Vinculação 88
1 onload
JS Front Vinculação 89
JS Front
onload
O evento onload é um evento que permite que todo o script seja
executado quando o objeto de document dentro do objeto de
window estiver totalmente carregado.
window.onload = function(){
{} console.log('o documento está pronto');
}
JS Front Vinculação 90
2 onclick
JS Front Vinculação 91
JS Front
onclick
O evento onclick nos permite executar uma ação quando o
elemento ao qual estamos aplicando a propriedade é clicado.
btn.onclick = function(){
{} console.log('Você clicou!');
}
JS Front Vinculação 92
3 preventDefault()
JS Front Vinculação 93
JS Front
preventDefault()
O preventDefault () nos permite evitar que o evento padrão ou
nativo do elemento ao qual estamos aplicando seja executado.
Podemos usá-lo, por exemplo, para evitar que uma tag "a" se
comporte nativamente e faça outra coisa.
JS Front Vinculação 94
JS Front
preventDefault()
hiperlink.addEventListener('click', function(event){
{}
console.log('clicou');
event.preventDefault();
});
JS Front Vinculação 95
JS Front
preventDefault()
hipervinculo.addEventListener('click', function(event){
{}
console.log('clicou');
event.preventDefault();
});
Guardamos o elemento
Escutamos o evento
Prevenimos a ação nativa
JS Front Vinculação 96
JS Front
Eventos mais usados
JS Front Vinculação 97
Select
Documentação
Para mais informações, visite a documentação oficial, clicando no
seguinte Link.
JS Front Vinculação 98
JS Front
Eventos
de
Mouse
mouseOver
Índice mouseOut
click
texto.addEventListener('mouseover', function(){
{} console.log('Você passou o mouse');
});
texto.addEventListener('mouseout', function(){
{} console.log('Retirou o mouse');
});
menu.addEventListener('click', function(){
{} console.log('Expandir menu hamburguer');
});