###### tags: `Frontend`
# Aulas 16 e 17 - Frontend - Lista de Exercícios - LiveHelp - 20/08/20
## Aluno: Rafael Almeida Santos
#### Questão 01
```htmlmixed=
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="agenda.css">
<title>Document</title>
</head>
<body>
<h1>Tarefinhas</h1>
<form action="">
<label for="tarefa">Nova tarefa
<input type="text" id="tarefa">
</label>
<button class="btn">Adicionar</button>
</form> <hr>
<ul class="toDo">
</ul>
<ul class="done">
</ul>
<script src="scriptAgenda.js"></script>
</body>
</html>
```
```css=
body{
margin: 1em;
max-width: 50ch;
}
form{
display: flex;
align-items: center;
justify-content: space-between;
}
ul {
list-style-type: none;
padding: 0;
margin: 0;
}
li{
display: flex;
align-items: center;
margin-top: 0.5em;
}
li input {
margin-right: 0.5em;
}
li button{
margin-left: auto;
}
.done span{
text-decoration: line-through;
}
```
```javascript=
const form = document.querySelector("form");
const input = document.querySelector("form input")
const toDo = document.querySelector(".toDo")
const done = document.querySelector(".done")
function deletaTarefa(evento) {
const botaoDeletar = evento.target;
const tarefa = botaoDeletar.closest("li");
tarefa.remove();
}
function marcaTarefaComoFeita(evento) {
const checkBox = evento.target;
const tarefa = checkBox.closest("li");
if(checkBox.checked){
done.append(tarefa);
} else{
toDo.append(tarefa)
}
}
form.addEventListener("submit", event => {
event.preventDefault();//Evitando que a página seja recarregada
const tarefa = document.createElement("li");//Criei um elemento no JS
const checkBox = document.createElement("input");//criei input
checkBox.setAttribute("type", "checkbox")//setei input para checkbox
const botaoDeletar = document.createElement("button");
botaoDeletar.innerText = "Deletar";/*Configurando texto dentro do elemento */
botaoDeletar.setAttribute("cursor", "pointer")
botaoDeletar.addEventListener('click',deletaTarefa);
checkBox.addEventListener('input', marcaTarefaComoFeita)
const texto = document.createElement("span")//Criei isso só para poder alterar meu texto
texto.innerText = input.value
tarefa.append(checkBox);
tarefa.append(texto); /*Texto da tarefa que digitei */
tarefa.append(botaoDeletar);
toDo.append(tarefa)//Colocando a tarefa no meu HTML de fato!
input.value = ""; //Esvaizando o conteúdo do meu input após escrever a tarefa
});
```
#### Questão 02
```htmlmixed=
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="exemploPropag.css">
<title>Document</title>
</head>
<body>
<div>
<button>
Botão
</button>
</div>
<script src="exemploPropagScript.js"></script>
</body>
</html>
```
```css=
body {
margin: 1em;
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
}
div {
display: inline-block;
padding: 2em;
border-radius: 4px;
background-color: palevioletred;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
}
button {
appearance: none;
color: palevioletred;
background-color: white;
border-radius: 2px;
padding: 0.5em;
border: 0;
font-weight: bold;
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
button:hover, button:focus {
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
button:active {
box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
}
```
```javascript=
const div = document.querySelector("div");
const button = document.querySelector("button");
div.addEventListener("click", () => alert("div foi clicada"));
button.addEventListener("click", event => {
event.stopPropagation()
alert("button foi clicado")
});
```