Menu
Coddy logo textTech

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:

  1. Usamos a propriedade display (none / block) para ocultar e mostrar elementos.
  2. Quando o usuário clica em uma aba, chamamos a função e passamos o ID da aba.
  1. Dentro da função, usamos <strong>querySelectorAll</strong> + <strong>forEach</strong> para esconder todos os conteúdos das abas.
  2. 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>
challenge icon

Desafio

Fácil

Nós já escrevemos a função JavaScript que faz as abas funcionarem. Sua tarefa: 

  1. Adicione o atributo onclick a cada botão de aba para que, ao clicar em uma aba, o conteúdo correto seja exibido
  2. Chame a função openTab().
  3. Passe o id do conteúdo da aba (home, about, ou contact).

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>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de JavaScript in Action