tab切换(用jQuery实现)?

页面中经常用到的tab栏,来分类展示内容

我认为掌握tab栏切换算是从静态页面到动态页面所迈出的第一步,并且在以后的工作中(jQuery框架开发)会作为jQuery中的常用事件和方法,反复的使用,所以掌握tab栏切换至关重要!!!

代码如下:

javascript 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>jQuery tab切换</title> 
<style> 
	body,blockquote,ul,li,h1,h2,h3,h4,h5,p,textarea,form,table,tr,td,input,button,div,dd,dt,dl{
		margin:0;
		padding:0;
	}
	li {
		list-style:none;
	}
	.app {
		width:1200px;
		margin:20px auto;
	}
	.app .app_div_tab ul {
		display:flex;
	}
	.app .app_div_tab ul li {
		width:120px;
		height:40px;
		line-height:40px;
		text-align:center;
		background-color:#fff;
		color:#000;
	}
	.app .app_div_tab ul li.active {
		background-color:#23A8F2;
		border-radius:5px 5px 0px 0px;
		color:#fff;
	}
	.app_div_box {
		width:100%;
		height:420px;
		border:1px solid #ccc;
	}
	.app .app_div_box_item {
		height:200px;
		font-size:15px;
		display:none;
	}
</style>
</head>
<body>
<div class="app">
	<div class="app_div_tab">
		<ul></ul>
	</div>
	<div class="app_div_box">
	</div>
</div>

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script>
	//模拟后台-tab中的数据
	var arr = [
		{id:0,name:"html+css",content:'内容1',},
		{id:1,name:"javascript",content:'内容2',},
		{id:2,name:"jQuery",content:'内容3',},
		{id:3,name:"BootStrap",content:'内容4',},
		{id:4,name:"Node",content:'内容5',},
		{id:5,name:"Vue",content:'内容6',},
		{id:6,name:"React",content:'内容7',},
	];
	
	$(".app_div_tab ul").empty(); //从被选元素中删除子元素
	$(".app_div_box").empty(); //从被选元素中删除子元素
	for(var i=0;i<arr.length;i++){
		var li = '<li>'+arr[i].name+'</li>';
		var div= '<div class="app_div_box_item">'+arr[i].content+'</div>'
		if(i==0) {
			var li = '<li class="active">'+arr[i].name+'</li>';
			var div= '<div class="app_div_box_item" style="display:block;">'+arr[i].content+'</div>'
			$(".app_div_tab ul").append(li);
			$(".app_div_box").append(div);
		 } else {
			 $(".app_div_tab ul").append(li);
			 $(".app_div_box").append(div);
		 } 
	}
	
	$(document).on("click",".app .app_div_tab ul li",function() {
		var i = $(this).index();
		$(this).addClass("active").siblings().removeClass("active");
		$(".app .app_div_box_item").eq(i).show().siblings().hide()
	});
</script>
</body>
</html>

考察点

1.jQuery - 删除元素

通过 jQuery,可以很容易地删除已有的 HTML 元素。

删除元素/内容

如需删除元素和内容,一般可使用以下两个 jQuery 方法:

remove() - 删除被选元素(及其子元素)

empty() - 从被选元素中删除子元素

2.jQuery - 添加元素

通过 jQuery,可以很容易地添加新元素/内容。

添加新的 HTML 内容

我们将学习用于添加新内容的四个 jQuery 方法:

append() - 在被选元素的结尾插入内容

prepend() - 在被选元素的开头插入内容

after() - 在被选元素之后插入内容

before() - 在被选元素之前插入内容

3.jQuery on() 方法

on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
自jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。

提示:如需移除事件处理程序,请使用 off() 方法。

提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。

4.jQuery addClass() 方法

addClass() 方法向被选元素添加一个或多个类名。

该方法不会移除已存在的 class 属性,仅仅添加一个或多个类名到 class 属性。

提示:如需添加多个类,请使用空格分隔类名。

5.jQuery removeClass() 方法

removeClass() 方法从被选元素移除一个或多个类。

注意:如果没有规定参数,则该方法将从被选元素中删除所有类。

6.jQuery 杂项 index() 方法

ndex() 方法返回指定元素相对于其他指定元素的 index 位置。

这些元素可通过 jQuery 选择器或 DOM 元素来指定。

注意:如果未找到元素,index() 将返回 -1。

7.jQuery hide() 和 show()

通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素

相关推荐
陈随易4 分钟前
副业搞钱点子之独立开发
前端·后端·程序员
console.log('npc')13 分钟前
问题跟踪与知识沉淀:从任务到知识的闭环)
前端·javascript·人工智能
恋猫de小郭32 分钟前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter
计算机魔术师34 分钟前
Reddit 宣布转向以登录为主的体验,以应对 AI 搜索带来的流量下滑
前端
熊猫钓鱼>_>34 分钟前
上架审核常见驳回与隐私合规清单:过审前先自查这 8 条【鸿蒙心迹】
开发语言·前端·华为·华为云·harmonyos·openharmony·ai制作
missile11135 分钟前
# HDR 算法 ISP 通路客制化方案(G100 / mt6789)
java·前端·javascript
全栈陈序员1 小时前
【Python】基础语法入门(三十)—— Web 开发入门:用 Flask 搭建第一个网站
前端·python·flask
万少1 小时前
Harmony 7.0 这个skill帮你自动化操作AGC
前端·javascript·后端
小大宇1 小时前
Vue知识点-ElementPlus-02图标
前端·javascript·vue.js
简简单单就是我_hehe1 小时前
一次 ClickHouse 服务器磁盘告警的排查与修复实录
java·服务器·前端