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

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

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底部菜单的使用方法

  • 27
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值