Mapa mental
Js on the page
Conteúdo do mapa
Js on the page
Adicionando classes
- li.classList.add('classNAme')
- Adicionando classe já declarada na style sheet
- const body = document.body
- body.classList.add('body-background')
Utilizando parent e children
- Referenciando li utilizando children
- const lis = Array.from(ul.children)
- Referenciando h2 e descobrindo elemento pai
- const h2 = document.querySelector('h2')
- console.log(h2.parentElement)
- Referenciando h1 e descobrindo next brother
- const h1 = document.querySelector('h1')
- console.log(h1.nextElementSibling)
- Descobrindo o irmão anterior
- console.log(ul.previousElementSibling)
- Referenciando li utilizando children
Eventos com Button
- Com varios elementos
- encadear em um forEach nossas lis
- const lis = Array.from(ul.children)
- como função callBack da forEach
- li => { li.addEventListener('click',event => { console.log(event.target) }
- lembrando que o event seria um objeto que o addEventListener tem
- li => { li.addEventListener('click',event => { console.log(event.target) }
- como função callBack da forEach
- const lis = Array.from(ul.children)
- encadear em um forEach nossas lis
- Com varios elementos
Modificando aspectos em uma tag
- Letras de uma tag h1 maiusculas
- const h1 = document.querySelector('h1')
- Utilizamos textcontent para mudar aspectos do que esta escrito na tag
- h1.textContent = h1.textContent.toUpperCase()
- Modificando a cor do numeros dento da ul
- Vamos referenciar nossas li neste caso vamos pela classe .number
- const lis = document.querySelectorAll('.number')
- Vamos encadear nossa lis referenciada em um forEach com a função callBack
- Essa função, recebe cada li, e checa se é par com a nossa const isEven
- const isEven = Number(li.textContent) % 2 === 0
- Caso isEven for true, entao pegamos a li de entrada da forEach e adicionamos o style.color = 'color'
- li.style.color = 'lightblue'
- O return logo apos, é para parar por ai e ir para o proximo item
- li.style.color = 'lightblue'
- Função callBack da forEach
- const changeLiColor = li => { const isEven = Number(li.textContent) % 2 === 0 if (isEven) { li.style.color = 'lightblue' return } li.style.color = 'pink' }
- Essa função, recebe cada li, e checa se é par com a nossa const isEven
- Vamos referenciar nossas li neste caso vamos pela classe .number
- Adiiconando um novo link em nosso href do tag <a>
- const repoLink = document.querySelector('a')
- repoLink.setAttribute('href', 'https://github.com/roger-melo-treinamentos/curso-de-js-roger-melo')
- Letras de uma tag h1 maiusculas
Adicionando Elementos
- Adicionando um array de numeros em cada li de uma ul
- Referenciamos nossa ul onde queremos colocar nossos numeros
- const ul = document.querySelector('.numbers')
- logo apos, encadeamos em nosso arary de numeros o forEach pra pegar cada item do array e adicinar na ul
- numbers.forEach(insertNumberIntoUl)
- Como função callback de nosso forEach
- vamos pegar cada number e com nossa ul encadeada do innerHTML vamos adicionar uma li com a class number e interpolar cada numero
- const insertNumberIntoUl = number => { ul.innerHTML += `<li class="number">${number}</li>` }
- vamos pegar cada number e com nossa ul encadeada do innerHTML vamos adicionar uma li com a class number e interpolar cada numero
- Como função callback de nosso forEach
- numbers.forEach(insertNumberIntoUl)
- Referenciamos nossa ul onde queremos colocar nossos numeros
- Adicionando um array de numeros em cada li de uma ul
Mostrando atributos, classes, tags na tela
- Exibindo o novo valor de href
- console.log(repoLink.getAttribute('href'))
- Exibindo no console um objeto com todas propriedades CSS
- console.log(title.style)
- Exibindo o novo valor de href
Removendo elementos tags classes etc..
- removendo Classe do body
- body.classList.remove('body-background')
- Removendo a classe link com toggle
- repoLink.classList.toggle('link')
- removendo Classe do body
addEventListener e suas propriedades
- Event Bubbling(Borbulhamento de eventos)
- Quanto um evento acontece em um elemento ele propaga
- Para os que estão acima com outros addEventListener
- event.stopPropagation()
- Ajuda a controlar o bubblind propagation
- Semelhante a um break, mas apenas para os eventos, ele para o encadeamento de ativação dos eventos
- Quanto um evento acontece em um elemento ele propaga
- Event delegation
- utill em eventos atrelados a multiplos elementos
- Organizar e delegar os addEventListener em cada elemento HTML com uma logica aplicada
- addEventListener('copy',()=>{}
- Neste caso o copy seria o evento a ser monitorado
- Quando algo for copiado na pagina, o addEventDispara a callback
- Neste caso o copy seria o evento a ser monitorado
- addEventListener('mousemove',,()=>{})
- Neste evento mouse move a ser monitorado
- Quando o mouse se move no elemento onde foi referenciado o addEvent ele dispara a callback
- const div = document.querySelector('.box')
- div.addEventListener('mousemove', (event) => { console.log(event) })
- div.addEventListener('mousemove', (event) => { console.log(event.offsetX, event.offsetY) })
- offsetX e offsetY
- São referencias as coordenadas x e y do canto superior esquerdo para a direira pra baixo no container
- offsetX e offsetY
- div.addEventListener('mousemove', (event) => { div.textContent = `X ${event.offsetX} | Y ${event.offsetY}` })
- Mostra no browser diretamente no container div os valores de x e y
- const div = document.querySelector('.box')
- Quando o mouse se move no elemento onde foi referenciado o addEvent ele dispara a callback
- Neste evento mouse move a ser monitorado
- addEventListener('wheel', () =>{})
- Evento a ser monitorado, o rolamento do mouse
- const div = document.querySelector('.box')
- document.addEventListener('wheel', event => { console.log(event) })
- Quando temos o rolamento é mostrado o ponteiro gerado no console
- document.addEventListener('wheel', event => { console.log(event.pageX, event.pageY) })
- Mostra no console diretamente os valores de x e y referente ao ponteiro ao rolar o mouse que seria nosso evento monitorado
- document.addEventListener('wheel', event => { console.log(event) })
- const div = document.querySelector('.box')
- Evento a ser monitorado, o rolamento do mouse
- HTMLelement.addEventListener('submit',() =>{})
- Evento a ser monitorado, submit do form
- const form = document.querySelector('.signup-form')
- form.addEventListener('submit', event => { event.preventDefault() console.log(event.target.username.value) })
- const form = document.querySelector('.signup-form')
- Evento a ser monitorado, submit do form
- Event Bubbling(Borbulhamento de eventos)
Métodos uteis de array
- some()
- argumentos:
- currentValue
- O valor atual do elemento sendo processado no array.
- index
- O índice do elemento atual sendo processado no array
- array
- O array onde o método some() foi chamado.
- thisArg
- Opcional. Valor para usar como this durante a execução do callback.
- currentValue
- Valor de retorno
- Esta função retorna true se a função callback retornar true para qualquer elemento do array; caso contrário, false.
- Descrição
- some() executa a função callback
- uma vez para cada elemento presente no array até achar um onde o callback retorne um valor true.
- some() executa a função callback
- argumentos:
- some()
Expressoes regulares
- REGEX ou regular expressions
- São expressoes para dar match em dados de entrada
- tamanho (de 6 a 10 caracteres)
- {6,10}
- Tipo e tamanho de letra
- De A a Z maiusculo ou minusculo
- [a-zA-Z]
- De A a Z maiusculo ou minusculo
- numeros
- [0-9]
- Numeros e letras
- [a-zA-Z0-9]
- Caracteres especiais
- ponto(.)
- .{6,10}
- ponto(.)
- Tem de vir entre barras
- /[a-zA-Z0-9]{6,10}/
- tamanho (de 6 a 10 caracteres)
- São armazenadas em constantes
- const pattern = /^[a-z]{6,}$/
- e testadas com o método test()
- const isAMatch = pattern.test(username)
- Testando com o search()
- const result = username.search(pattern)
- São expressoes para dar match em dados de entrada
- REGEX ou regular expressions
Data set
- O que é?
- propriedade
- Tipo
- leitura
- de quem?
- HTMLElement interface
- proporciona
- acesso
- read(leitura)
- write(escrita)
- custom data attributes
- nos elementos HTML
- Dando mesmo valor para dos atributos data
- Se os atributos data tiver o mesmo valor posso encadear um efeito com os dois
- Dando mesmo valor para dos atributos data
- data-* o que isso?
- forma a classe de attributos
- que permite a mudança de informação do elemento
- entre o HMTL e o DOM represenado por scripts
- que permite a mudança de informação do elemento
- Escreve data-qualquercoisa
- data-qualquercosa='qualquerValor'
- quando acessado via element.dataset
- ele retorna um objeto com
- propriedade
- qualquercosa
- valor da propriedade
- : qualquerValor
- {qualquercosa:qualquervalor}
- : qualquerValor
- propriedade
- ele retorna um objeto com
- quando acessado via element.dataset
- data-qualquercosa='qualquerValor'
- forma a classe de attributos
- Exemplo
- <li>
- atributos
- data-titulo = 'Smells like teen Spirit'
- data-url = 'https://smellsmusic.com.br/musicNirvana'
- data-cover="https://www.cdscovermusicbands.com/bands/rock/grunge/nirvanaAlbuns"
- class of li class="li-music"
- atributos
- utilizando
- document.querySelector('li-music').dataset
- vamos obter um objeto com os valores adicionados no custom atributes
- {titulo:'Smells like teen Spirit', url:'https://smellsmusic.com.br/musicNirvana',cover:"https://www.cdscovermusicbands.com/bands/rock/grunge/nirvanaAlbuns"}
- vamos obter um objeto com os valores adicionados no custom atributes
- document.querySelector('li-music').dataset
- <li>
- nos elementos HTML
- custom data attributes
- acesso
- proporciona
- HTMLElement interface
- HTMLElement.dataset
- da acesso
- a todos os tipos de dados customizados
- disponiveis no elemento HTML
- a todos os tipos de dados customizados
- it is a DOMstringMap
- o que é?
- uma interface(meio de comunicação)
- utilizada pelos
- HTMLElement.dataset
- atributos
- que representao dados para atributos customizados adicionadoa aos elementos
- atributos
- SVGElement.dataset
- HTMLElement.dataset
- utilizada pelos
- uma interface(meio de comunicação)
- o que é?
- da acesso
- Tipo
- propriedade
- O que é?
Informações
- Descrição
- Fronter CJRM Mapa Mental sobre Js on the page, criado por Enéas Silva em 25-02-2022.
- Criado por
- Enéas Silva
- Visualizações
- 0
- Avaliação