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日

相关文章

  • 详解Vue-cli3.X使用px2rem遇到的问题

    详解Vue-cli3.X使用px2rem遇到的问题 什么是vue-cli3.X Vue CLI 是一个基于Vue.js进行快速开发的完整系统。它包括一个响应式的开发服务器、可定制的webpack配置、常规的Vue项目构建任务和集成了最佳实践的生产环境构建等。 何为px2rem px2rem 是一种将px值转化为rem值的工具。通过将框架内各个元素的单位从px…

    css 2023年6月10日
    00
  • 常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数

    常用js、css文件统一加载方法的实现 为了加快网页的加载速度,我们可以采用常用js、css文件统一加载方法。这种方法可以将多个js、css文件打包成一个文件,从而减少HTTP请求次数。以下是一种实现这种方法的方式: function loadResources(urls, callback) { var resources = urls.length, l…

    css 2023年6月10日
    00
  • HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手

    HTML+CSS盒模型是网页设计中非常重要的一个概念,了解盒模型对于网页布局和样式的掌控有着十分关键的作用。其中“border-radius”属性是用于创建各种圆角的CSS属性。下面将在这个主题下,提供一个简单的上手攻略,来实现几个有趣的案例。 HTML+CSS 圆形盒子 实现一个简单的圆形盒子非常简单,我们只需要在CSS代码中添加“border-radiu…

    css 2023年6月10日
    00
  • 10分钟理解CSS BFC原理及其应用

    CSS BFC(块级格式化上下文)是CSS布局中的一个概念,它决定了元素如何定位、如何与其他元素交互。理解BFC的原理以及如何应用BFC是CSS布局中重要的一环。 什么是BFC? BFC是指块级格式化上下文,是一个独立的渲染区域,BFC内部的元素会按照一定规则进行定位、布局,而BFC外部的元素也不能影响BFC内部元素的布局。BFC形成的方式有多种,例如: 根…

    css 2023年6月9日
    00
  • HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法

    HTML5带来了许多新的标签,其中form标签也得到了增强。在HTML5中,form标签不仅仅是个容器,而且在处理表单的交互上,这个标签与其他的标签和JavaScript API一起,提供了一些有力的辅助。 1. 表单验证 HTML5的form标签支持更容易、更强大的表单验证。通过添加属性和值来控制表单验证行为。 必填属性 HTML5新增了required属…

    css 2023年6月10日
    00
  • JavaScript 实现页面滚动动画

    下面就来详细讲解“JavaScript 实现页面滚动动画”的完整攻略。 一、需求分析 在实现页面滚动动画之前,我们需要对需求进行分析,明确实现滚动动画的期望效果。在通常的页面滚动中,用户的鼠标滚轮操作会导致页面上下滚动一整屏。而在本次实现中,期望实现滚动时页面逐渐平滑地过渡到下一屏,而不是一刹那地跳转。 因此,我们可以从以下几个方面考虑代码实现: 监听用户的…

    css 2023年6月10日
    00
  • 基于Leaflet的VideoOverlay视频图层叠加实战教程

    下面我将详细讲解 “基于Leaflet的VideoOverlay视频图层叠加实战教程”, 首先我将通过以下标题来讲述: 一、前言 在本文中,我们将讲解如何使用基于Leaflet的VideoOverlay插件来创建可以叠加在地图上的视频图层。这些图层能够展示用于监控、导航、地理信息分析等方面的视觉数据。在本文中,我们将深入了解该插件的实现原理,并为您提供一些示…

    css 2023年6月9日
    00
  • Fireworks工作区基础知识概述

    Fireworks是一款较为常用的平面设计工具,本文将详细讲解Fireworks工作区基础知识概述,帮助初学者更好地了解软件的使用。 工作区基础知识概述 工具栏 工具栏是Fireworks的主要工具栏,在界面的左侧位置,包含了软件的绝大部分工具。使用工具栏,用户可以快速方便地完成设计任务。 举例1:选择工具 选择工具是使用Fireworks过程中最常用和最基…

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