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 元素

相关推荐
IT_陈寒18 分钟前
SpringBoot启动慢得像蜗牛?原来是这个配置在捣鬼
前端·人工智能·后端
计算机魔术师19 分钟前
Muse Spark跑赢Gemini,但真正的底牌是这种设计
前端
PYB332 分钟前
【Web·JS·基础】函数的使用和展运算符...objs
前端·javascript
指针向南42 分钟前
Chrome读不了HEIC怎么办:原生解码和WASM两条路
前端·图像处理·人工智能·chrome·计算机视觉·wasm
默_笙1 小时前
🚥 给 RAG 装一台心电监护仪:LangSmith 全链路观测(上)
前端·javascript
前端snow2 小时前
ai agent --- mem0 外挂记忆系统
前端
特立独行的猫a3 小时前
用仓颉写一个 Tauri:IPC 的每次往返实现原理(web层到仓颉层的触发过程)
前端·ui·harmonyos·tauri·鸿蒙·仓颉
Dovis(誓平步青云)3 小时前
多个链接不等于多份证据,新闻核验看板怎样合并来源
java·服务器·前端·javascript·人工智能·pdf·电脑
骑着蜗牛撵大象3273 小时前
Qt 事件机制详解:从 QEvent 派生类到事件过滤器的全景指南
前端·python
qq_2518364574 小时前
理发管理系统 —— 会员模块
开发语言·前端·python·flask