首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 全屏tab切换代码

在JavaScript中实现全屏的Tab切换效果,通常涉及到HTML、CSS和JavaScript的结合使用。以下是一个基础的示例,展示如何创建一个简单的全屏Tab切换功能:

HTML结构

代码语言:txt
复制
<div class="tab-container">
  <div class="tab-buttons">
    <button class="tab-button active" data-tab="tab1">Tab 1</button>
    <button class="tab-button" data-tab="tab2">Tab 2</button>
    <button class="tab-button" data-tab="tab3">Tab 3</button>
  </div>
  <div class="tab-content">
    <div class="tab-pane active" id="tab1">Content for Tab 1</div>
    <div class="tab-pane" id="tab2">Content for Tab 2</div>
    <div class="tab-pane" id="tab3">Content for Tab 3</div>
  </div>
</div>

CSS样式

代码语言:txt
复制
.tab-container {
  width: 100vw; /* 视口宽度 */
  height: 100vh; /* 视口高度 */
}

.tab-buttons {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.tab-button {
  padding: 10px 20px;
  cursor: pointer;
}

.tab-button.active {
  background-color: #007bff;
  color: white;
}

.tab-content {
  width: 100%;
  height: 100%;
}

.tab-pane {
  display: none;
  width: 100%;
  height: 100%;
}

.tab-pane.active {
  display: block;
}

JavaScript代码

代码语言:txt
复制
document.addEventListener('DOMContentLoaded', function() {
  const tabButtons = document.querySelectorAll('.tab-button');
  const tabPanes = document.querySelectorAll('.tab-pane');

  tabButtons.forEach(button => {
    button.addEventListener('click', function() {
      const targetTab = this.getAttribute('data-tab');

      // 移除所有按钮的active类
      tabButtons.forEach(btn => btn.classList.remove('active'));
      // 给当前点击的按钮添加active类
      this.classList.add('active');

      // 隐藏所有tab pane
      tabPanes.forEach(pane => pane.classList.remove('active'));
      // 显示目标tab pane
      document.getElementById(targetTab).classList.add('active');
    });
  });
});

解释

  1. HTML: 创建了一个包含Tab按钮和Tab内容的容器。每个Tab按钮都有一个data-tab属性,用于关联对应的Tab内容。
  2. CSS: 设置了全屏的宽度和高度,并定义了Tab按钮和Tab内容的样式。.active类用于显示当前选中的Tab和内容。
  3. JavaScript: 监听Tab按钮的点击事件,当点击时,更新按钮和内容的.active类,从而实现Tab的切换效果。

应用场景

这种全屏Tab切换效果常用于展示多个独立但相关的页面内容,如产品介绍、服务展示、多步骤表单等。通过全屏切换,可以提供更好的用户体验和视觉效果。

注意事项

  • 确保每个data-tab属性的值与对应的Tab内容的id相匹配。
  • 可以根据需要调整CSS样式,以适应不同的设计需求。
  • 如果需要支持键盘导航或无障碍访问,可以进一步扩展JavaScript代码。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券