Abas
Parte da seção JavaScript in Action do Journey de HTML da Coddy — lição 1 de 27.
As abas permitem que os usuários alternem entre diferentes partes do conteúdo sem sair da página. Na Seção 4, nós as construímos com HTML e CSS. Agora usaremos JavaScript.
Pontos principais:
- Usamos a propriedade display (
none/block) para ocultar e mostrar elementos. - Quando o usuário clica em uma aba, chamamos a função e passamos o ID da aba.
- Dentro da função, usamos
<strong>querySelectorAll</strong>+<strong>forEach</strong>para esconder todos os conteúdos das abas. - Finalmente, mostramos aquele que corresponde ao ID.
<div class="tabs">
<button class="tab" onclick="openTab('services')">Serviços</button>
<button class="tab" onclick="openTab('contact')">Contato</button>
</div>
<div id="services" class="tab-content">Nossos serviços estão listados aqui.</div>
<div id="contact" class="tab-content" style="display:none;">Entre em contato conosco em contact@example.com.</div>
<script>
function openTab(tabId) {
// Ocultar todo o conteúdo das abas
document.querySelectorAll('.tab-content').forEach(el => el.style.display = 'none');
// Mostrar a aba selecionada
document.getElementById(tabId).style.display = 'block';
}
</script>Desafio
FácilNós já escrevemos a função JavaScript que faz as abas funcionarem. Sua tarefa:
- Adicione o atributo
onclicka cada botão de aba para que, ao clicar em uma aba, o conteúdo correto seja exibido - Chame a função
openTab(). - Passe o id do conteúdo da aba (
home,about, oucontact).
Experimente você mesmo
<!DOCTYPE html>
<html>
<head>
<title>Simple Tabs Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="tabs">
<!-- Each button calls the function and passes the tab's ID -->
<button class="tab" >Home</button>
<button class="tab" >About</button>
<button class="tab" >Contact</button>
</div>
<!-- By default, only "Home" is visible -->
<div id="home" class="tab-content">Welcome to the homepage!</div>
<div id="about" class="tab-content" style="display:none;">Learn more about us here.</div>
<div id="contact" class="tab-content" style="display:none;">Get in touch with us.</div>
<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.