2
respostas

[Projeto] Exercícios Aula 1

Priorizei usar "getElementById" e "getElementsByClassName" a invés do "querySelector" para ser mais semântico.

// AULA 1
const html = document.querySelector('html');
const focoBtn = document.querySelector('.app__card-button--foco');
const curtoBtn = document.querySelector('.app__card-button--curto');
const longoBtn = document.querySelector('.app__card-button--longo');

focoBtn.addEventListener('click', () => {
    html.setAttribute('data-contexto', 'foco');
})

curtoBtn.addEventListener('click', () => {
    html.setAttribute('data-contexto', 'descanso-curto');
})

longoBtn.addEventListener('click', () => {
    html.setAttribute('data-contexto', 'descanso-longo')
})



// EXERCÍCIO 1 - Capturando elementos com JavaScript
// EXERCÍCIO 2 - Criando variáveis no JavaScript

const timer = document.getElementById('timer');
const img = document.getElementsByClassName('app__image');
const title =  document.getElementsByClassName('app__title');

console.log(timer, img, title)


// EXERCÍCIO 3 - Criando botões da aplicação (demais botões já foram criados)
constStartPause = document.getElementById('start-pause');


//EXERCÍCIO 4 - Selecionando botões com JavaScript

const timerFoco = 1500; 
const timerCurto = 300;
const timerLongo = 900
2 respostas

Olá, Amanda, como vai?

Você está no caminho certo ao capturar elementos do DOM, mas há um pequeno detalhe que pode simplificar ainda mais seu código. Quando usamos getElementById, estamos buscando um elemento específico com um ID único, e isso funciona muito bem no seu caso com o timer. Já o getElementsByClassName retorna uma coleção de elementos, mesmo que só haja um, o que pode complicar se você quiser manipular o conteúdo diretamente.

Por exemplo, ao invés de usar getElementsByClassName para img e title, você pode utilizar querySelector ou querySelectorAll, que permitem mais flexibilidade e retornam um único elemento ou uma lista, respectivamente. Isso pode facilitar a manipulação se você precisar acessar diretamente as propriedades desses elementos. Por exemplo:

imagem da IDE destacando os logs dos elementos html

Ambas as variáveis fazem referência a mesma classe, mas a que usa getElementsByClassName retorna um array com um elemento e a que usa querySelector retorna o elemento em si.

No mais, seu código está bem organizado, e o uso dos botões está fluindo perfeitamente. Continue assim!

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Obrigada, Mike!