JS+DIV+CSS实现的经典标签切换效果代码

JS+DIV+CSS实现的经典标签切换效果,通常需要使用JavaScript实现动态的切换效果,具体步骤如下:

  1. HTML结构

首先,我们需要编写HTML代码,包含表示标签的ul列表和对应内容的div块,例如:

<ul class="tab-header">
  <li class="active">Tab1</li>
  <li>Tab2</li>
  <li>Tab3</li>
</ul>
<div class="tab-content">
  <div class="tab-item active">
    <p>Content 1...</p>
  </div>
  <div class="tab-item">
    <p>Content 2...</p>
  </div>
  <div class="tab-item">
    <p>Content 3...</p>
  </div>
</div>

其中,ul表示标签的标题,每个li标签表示一个标签,class="active"表示当前激活标签的样式,div.tab-content为对应内容的容器,每个div.tab-item表示一个标签页的内容。

  1. CSS样式

接下来,我们需要编写CSS样式,包括包含标签标题的ul元素和包含标签页内容的div元素的样式,例如:

/* 标签标题样式 */
.tab-header {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #ccc;
}
.tab-header li {
  display: inline-block;
  padding: 3px 10px;
  background-color: #eee;
  cursor: pointer;
}
.tab-header li.active {
  background-color: #fff;
  border-bottom: 1px solid #fff;
}

/* 标签页内容样式 */
.tab-content {
  border: 1px solid #ccc;
  padding: 10px;
}
.tab-item {
  display: none;
}
.tab-item.active {
  display: block;
}

其中,样式需要分别设置标签标题和标签页容器的样式,使用display属性为标签页内容设置默认为不可见(display:none),当对应标签被激活时显示(display:block)。

  1. JavaScript代码

最后,我们需要编写JavaScript代码,实现标签切换的功能。具体实现过程如下:

//获取标签标题和标签页元素
var tabHeaders = document.querySelectorAll('.tab-header li');
var tabItems = document.querySelectorAll('.tab-item');

//循环绑定CLICK事件
for (var i = 0; i < tabHeaders.length; i++) {
  var tabHeader = tabHeaders[i];
  tabHeader.onclick = function() {
    //获取被点击的标签位置
    var index = this.dataset.index;

    //激活对应的标签和标签页内容
    for (var j = 0; j < tabHeaders.length; j++) {
      if (j == index) {
        tabHeaders[j].classList.add('active');
        tabItems[j].classList.add('active');
      } else {
        tabHeaders[j].classList.remove('active');
        tabItems[j].classList.remove('active');
      }
    }
  }

  //设置标签位置索引
  tabHeader.dataset.index = i;
}

其中,JavaScript代码通过循环绑定click事件,处理被点击的标签索引位置,然后通过循环激活对应的标签和标签页内容的样式。

示例1:

你可以参考下面的代码实现:https://codepen.io/anon/pen/qpXbjN

示例2:

另外,你可以参考下面的优化代码,使用事件代理实现标签切换的效果,可以提高性能:https://codepen.io/anon/pen/mpZvmy

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS+DIV+CSS实现的经典标签切换效果代码 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 倩女幽魂灵犀迷宫活动内容详情_倩女幽魂灵犀迷宫活动具体流程

    倩女幽魂灵犀迷宫活动内容详情 活动介绍 灵犀迷宫是倩女幽魂游戏中的一个限时活动,需要玩家组队完成迷宫的挑战,获取丰厚的奖励和宝藏。灵犀迷宫每隔一定时间就会开启,每次开启时间都为30分钟,需要玩家在规定时间内完成挑战。 参与方式 玩家需要组成三人队伍才能进入迷宫,其中要求至少有一个队员是武当、少林、华山三个门派中的一个,另外两个队员可以是多种门派的组合。 进入…

    css 2023年6月10日
    00
  • 学习JavaScript图片预加载模块

    下面是学习JavaScript图片预加载模块的完整攻略。 1. 什么是图片预加载 图片预加载是指在页面加载完成之前,提前加载需要用到的图片资源,以此提高页面的加载速度和用户的体验。 2. 实现图片预加载 在 JavaScript 中,我们可以使用 Image 对象实现图片预加载。以下是实现图片预加载的基本步骤: 创建一个 Image 对象,并设置它的 src…

    css 2023年6月10日
    00
  • 10个基于Jquery的幻灯片插件教程

    10个基于Jquery的幻灯片插件教程 简介 幻灯片是网站中常见的交互效果之一,它可以使网站更具吸引力和用户友好性。jQuery是一个功能强大的JavaScript库,它提供了大量的插件,可以帮助我们快速开发幻灯片效果。本教程将介绍10个基于jQuery的幻灯片插件,帮助开发者能够轻松添加幻灯片效果到网站中。 插件列表 下面是10个基于jQuery的幻灯片插…

    css 2023年6月11日
    00
  • CSS6种长度单位(像素、百分比、视口单位、根节点字体大小单位…)详解

    CSS长度单位有多种,它们用于指定元素的宽度、高度、边距、内边距等尺寸。以下是每种单位的详细解释以及使用示例。 像素(px) 像素是CSS中最常用的长度单位之一。它是屏幕上显示图像的最小单位,可以用来定义元素的宽度、高度、边距、内边距等。一个像素等于一个CSS点(即视网膜分辨率中的像素)。 示例代码: div { width: 300px; height: …

    Web开发基础 2023年3月20日
    00
  • jQuery层叠选择器用法实例分析

    下面是“jQuery层叠选择器用法实例分析”的完整攻略。 首先,要了解什么是层叠选择器。层叠选择器是把两个或多个选择器组合起来使用,形成强制性规则,可以让我们在一个元素的子元素中,精确地选中某个元素。 下面是一个使用层叠选择器的例子: <!doctype html> <html lang="en"> <hea…

    css 2023年6月10日
    00
  • AngularJS中的路由使用及实现代码

    AngularJS中的路由是实现单页应用(SPA)的关键。通过使用路由,可以让用户在不刷新页面的情况下,在不同的视图之间进行切换和导航。本文将详细讲解如何使用AngularJS进行路由,并提供两个示例。 第一步:导入依赖 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/…

    css 2023年6月9日
    00
  • CSS3 简写animation

    当我们需要为网站设计动画效果时,CSS3提供了强大的动画功能。其中非常重要的一个功能就是animation简写属性,它可以让我们快速设置动画效果。 animation属性 animation属性是由多个子属性组成的简写属性。下面是animation属性的完整语法: animation: name duration timing-function delay …

    css 2023年6月10日
    00
  • 如何禁止打印页面

    如何禁止打印页面可以通过CSS样式表和JavaScript来实现。 使用CSS样式表禁止打印页面 我们可以使用CSS样式表的@media print规则,通过指定打印时的样式表来禁止打印。 具体的步骤如下: 在HTML头部引入样式表。 <link rel="stylesheet" href="print.css"…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部