Banners dispensáveis
Parte da seção JavaScript in Action do Journey de HTML da Coddy — lição 9 de 27.
Um banner dispensável é uma barra de notificação ou mensagem que aparece no topo (ou no rodapé) da página e pode ser fechada pelo usuário. Estes são frequentemente usados para exibir informações importantes, como políticas de cookies, anúncios ou avisos. A característica principal é o botão de fechar (×) que permite ao usuário ocultar o banner sem atualizar a página.
Primeiro, vamos adicionar a estrutura HTML:
<div class="banner" id="banner">
<p>This is an important announcement!</p>
<button id="closeBanner">X</button>
</div>Em seguida, vamos adicionar um pouco de CSS básico para estilizar nosso banner:
.banner {
background-color: #1e90ff;
color: white;
padding: 15px 20px;
text-align: center;
position: relative;
}
.banner button {
position: absolute;
right: 10px;
top: 10px;
border: none;
cursor: pointer;
}Finalmente, adicione JavaScript para tornar o banner dispensável:
const banner = document.getElementById('banner');
const closeBtn = document.getElementById('closeBanner');
closeBtn.addEventListener('click', function() {
banner.style.display = 'none';
});
Quando o botão de fechar for clicado, o banner desaparecerá.
Desafio
FácilQueremos que o banner desapareça quando o usuário clicar no botão de fechar.
- Adicione um event listener para que, quando o botão de fechar for clicado, uma função seja executada.
- Dentro desta função, defina a propriedade
displaydo elemento banner comononepara que ele seja ocultado.
Experimente você mesmo
<!DOCTYPE html>
<html>
<head>
<title>Dismissible Banner Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- Banner -->
<div class="banner" id="banner">
<p>Big News! Our new course is live. Enroll today and get 30% off!</p>
<button id="closeBanner">×</button>
</div>
<!-- Page Content -->
<header class="hero">
<h1>Welcome to CodeLearn</h1>
<p>Practical lessons to sharpen your web development skills 🚀</p>
</header>
<main class="content">
<section>
<h2>Learn by Doing</h2>
<p>Each lesson comes with tasks and challenges so you can practice immediately.</p>
</section>
<section>
<h2>Topics We Cover</h2>
<ul>
<li>HTML & CSS basics</li>
<li>JavaScript essentials</li>
<li>Frontend projects</li>
<li>Interactive UI components</li>
</ul>
</section>
</main>
<footer>
<p>© 2025 CodeLearn. All rights reserved.</p>
</footer>
<script src="script.js"></script>
</body>
</html>
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.