首页 > 编程语言 >JavaScript实现tab栏切换 jquery实现tab栏切换 的方法的对比

JavaScript实现tab栏切换 jquery实现tab栏切换 的方法的对比

时间:2024-08-03 12:58:40浏览次数:13  
标签:jquery index Tab tabs content 切换 tab active

这个例子比较简单,但却很实用,当然实际工作中我们一般不会这样去写,我们通常会把以此为基础去封装一个可重用的控件,但基本思想不变。

JavaScript实现tab栏切换

JavaScript中实现Tab切换的基本逻辑是通过监听每个Tab的点击事件,然后隐藏所有的内容区域,并显示对应于点击的Tab的内容区域。以下是一个简单的实现示例:

HTML结构:

<div class="tabs">
  <div class="tab" οnclick="changeTab(0)">Tab 1</div>
  <div class="tab" οnclick="changeTab(1)">Tab 2</div>
  <div class="tab" οnclick="changeTab(2)">Tab 3</div>
</div>
<div class="tab-content">
  <div class="content" style="display: block;">Content 1</div>
  <div class="content">Content 2</div>
  <div class="content">Content 3</div>
</div>

JavaScript代码:

function changeTab(index) {
  var i, tabs, contents;
  
  tabs = document.getElementsByClassName("tab"); // 获取所有的tab元素
  contents = document.getElementsByClassName("content"); // 获取所有的内容区域
 
  // 隐藏所有内容区域
  for (i = 0; i < contents.length; i++) {
    contents[i].style.display = "none";
  }
 
  // 移除所有tabs的活跃状态
  for (i = 0; i < tabs.length; i++) {
    tabs[i].className = tabs[i].className.replace(" active", "");
  }
 
  // 显示对应的内容区域并给当前tab加上活跃状态
  contents[index].style.display = "block";
  tabs[index].className += " active";
}

css样式

.tab.active, .content {
  display: block;
}
 
.content {
  display: none;
}

jquery实现tab栏切换

首先需要引用jquery.js文件

//本地引用
<script src="./js/jquery-1.11.1.min.js"></script>

HTML结构:


<div class="lineBox_tOP tab-header">
	<a class="active">tab1</a>
	<a class="destination_complain">tab2</a>
</div>							

JavaScript代码:

// tab选项
	$(document).ready(function() {
		$('.tab-header a').click(function() {
			var index = $(this).index();
			$('.tab-header a').removeClass('active');
			$(this).addClass('active');
			$('.tab-content .tab-item').removeClass('active');
			$('.tab-content .tab-item').eq(index).addClass('active');
		});
	});

使用.click()方法:这是最简单的方法,当用户点击某个元素时,会触发一个事件。

史上最全CSS命名规则总结及公用常见的CSS前端整理小知识
前端轮播图 动画 animate.css 使用工具 前端规范明说
简单易用的分页插件 原生HTML分页功能
uniapp tabbar底部中间凸起菜单 vue底部菜单的使用方法

标签:jquery,index,Tab,tabs,content,切换,tab,active
From: https://blog.csdn.net/qq_34548883/article/details/140777532

相关文章

  • LeetCode | 303 RangeSumQueryImmutable
    https://github.com/dolphinmind/datastructure/tree/datastructure-array-02分析所求解的区间[left,right]具有连续性,执行常规for循环计算,[0,left-1]的区间元素累加和与[0,right]的区间元素累加和,有重复的运算区间[0,left)。累加和与长跑比赛其实一致,求取[left,right]区......
  • JDBC实现多数据库切换
    一、编译环境JDK:1.8IDEA:2023.1.2二、maven依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><!--......
  • MHA高可用配置及故障切换
    目录MHA高可用配置及故障切换MHA定义MAH的组成MHA特点MHA工作原理实验:搭建MySQLMHA案例拓扑图案例实施四台服务器关闭防火墙防护,连接所有会话101、102、103、104设置host文件安装MySQL数据库连接会话102、103、104设置主库配置从服务器配置启动修改登录密码......
  • crontab在linux中的语法规则
    总结:  分钟小时日月周数值范围 0~590~231~311~120~7(0和7都表示周日);MON~SUN每* 每分钟每小时每天每月 区间-a-b:从a分到b分a-b:从a点到b点a-b:从a号到b号a-b:从a月到b月a-b:从周a......
  • HarmonyOS:如何实现自定义的Tabs,TabContent内部实现如何动态配置
    前言:最近做开发任务的时候,想把Tabs自定义了,并且动态配置TabContent里面的内容,不是写死一样的,这个问题困扰了很长时间,试过**@BuilderParam**(类似于vue的插槽)传组件方式的,但是**@BuilderParam只能传一个,我想要传递的是一个数组,找了很多Api最后找到了WrappedBuilder[]**这种方......
  • flink stream转table POJO对象遇到的坑
    核心代码publicclassTrackLog{privateIntegerentityId;//flink的时间类型,必须使用LocalDateTimeprivateLocalDateTimestatDateTime; publicIntegergetEntityId(){returnentityId;}publicvoidsetEntityId(IntegerentityId){......
  • element的table组件总计功能的一些问题
    问题1:默认数据为空时,element认为不需要总计,当接口调用结束赋上数据时,总计行才会渲染,但因为之前element没有计算好高度,导致总计行从底部上升出来这一样式bug,解决方法是设置tableData:[{}]为初始值,使初始状态下具有总计行,这样初始计算过总计行高度后,后续在修改数据也不会产生样式bug......
  • vue播放flv、hls(m3u8)视频及动态切换视频流
    【了解video.js】官方地址: https://github.com/videojs/video.js【用法】1、安装npminstallvideo.js--savenpminstallvideojs-flash--save//rtmp格式//flv格式npminstallflv.js--savenpminstallvideojs-flvjs-es6--save//hls格式video.js7.0以后版本......
  • VUE3 el-Menu + tabs 联动
    我们在项目中会有这种情况,根据点击侧边栏的菜单,来动态实现右侧tabs的增减,那么这种效果怎么实现呢1.模板部分<el-menu:collapse="isCollapse"active-text-color="#ffd04b"background-color="#242424"class="el-menu-vertical-demo":default-active="onRoutes&qu......
  • 劝你先别更新!!最新Stable Diffusion WebUI 1.10已来!WebUI终于支持SD3大模型了!你跑起来
    你的SD3大模型在SDWebUI1.10.0中跑起来了么?今天发现StableDiffusionWebUI于昨日推出了最新SDWebUI1.10.0版本。令人比较兴奋的是该版本支持了SD3大模型,同时也新增了DDIMCFG++采样器。主要更新内容如下:最新版本地址:更新后重启,可在WebUI设置中开启对T5文本的支持,......