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日

相关文章

  • js知识点总结之getComputedStyle的用法

    JS知识点总结之getComputedStyle的用法 介绍 getComputedStyle() 是一个用于获取元素所有计算样式的函数。它的参数是要获取样式信息的元素,返回一个 CSSStyleDeclaration 对象,包含计算出的样式属性的键值对。 语法 getComputedStyle(element, [pseudoElement]) eleme…

    css 2023年6月10日
    00
  • Bootstrap打造一个左侧折叠菜单的系统模板(一)

    我来详细讲解一下”Bootstrap打造一个左侧折叠菜单的系统模板(一)”的完整攻略。此文章的攻略包含以下三部分: 1. 准备工作 在编写左侧折叠菜单前,需要先引入Bootstrap框架。打开网页http://getbootstrap.com/并按照引导指示下载所需文件即可。同时,该模板基于jQuery,所以也需要在页面中引入jQuery库: <!–…

    css 2023年6月9日
    00
  • 67 个节约开发时间的前端开发者的工具、库和资源

    67 个节约开发时间的前端开发者的工具、库和资源 作为一名前端开发者,我们需要使用各种工具和库来提高开发效率。这篇攻略总结了67个节约前端开发时间的工具、库和资源。 前端开发工具 1. Visual Studio Code Visual Studio Code是一个快速且免费的代码编辑器,支持多种语言和插件,比如自动补全、语法高亮和调试器等。 2. Subl…

    css 2023年6月11日
    00
  • 好用的VSCode头部注释插件Fileheader Pro

    好用的VSCode头部注释插件Fileheader Pro是一种用于为代码文件生成注释头部的插件,可以帮助开发者更好地管理代码文件。本攻略将详细介绍如何安装和使用该插件。 安装Fileheader Pro插件 Fileheader Pro插件是一款可以在VSCode中自动添加文件头部注释的插件,可以提供项目的基本信息、文件名、创建时间、作者等信息,使用起来非…

    css 2023年6月13日
    00
  • css+html实现Skeleton Screen 加载占位图动画效果(带动画)

    请稍等,我会提供完整的攻略。 什么是Skeleton Screen? Skeleton Screen也叫骨架屏,是指在页面加载过程中,用灰色的占位图代替正在加载的内容,让用户感受到页面正在加载的过程,从而提升页面的整体用户体验。 实现Skeleton Screen的步骤 第一步:HTML 首先,在HTML中将网页内容用占位符代替,这里举一个网站导航栏的例子:…

    css 2023年6月9日
    00
  • 三种带箭头提示框总结实例

    针对“三种带箭头提示框总结实例”的攻略,我将从以下几点进行详细讲解: 三种带箭头提示框的分类介绍 三种带箭头提示框的使用方式 实例说明 1. 三种带箭头提示框的分类介绍 在网页设计中,我们常常需要使用提示框来引导用户关注某一重要信息。而三种带箭头提示框分别为: 左侧提示框 上方提示框 右上角提示框 它们的主要特点分别为: 左侧提示框:提示框呈垂直布局,箭头出…

    css 2023年6月11日
    00
  • 又一实用的常用CSS缩写语法收集

    当我们书写 CSS 样式时,经常需要写很长的属性名和属性值,这不仅让代码在阅读上不太美观,而且还比较繁琐。为了解决这个问题,CSS 缩写语法应运而生。本篇攻略将介绍 CSS 缩写语法的常用属性和使用方法,希望对大家的日常开发有所帮助。 CSS 缩写语法的常用属性 margin 缩写语法 css margin: 20px 10px 30px 40px; /* …

    css 2023年6月9日
    00
  • Webpack中publicPath路径问题详解

    下面我会详细讲解“Webpack中publicPath路径问题详解”的完整攻略,并且提供两个示例进行说明。 什么是publicPath? 在webpack构建应用程序时,会将我们的项目中各个模块依赖打包成为块(chunk),最终输出到一个或多个 bundle 中。当我们在使用<script>标签引入这些输出的静态资源时,会发现引用的路径不正确,这…

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