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

相关推荐
Nan_Shu_61425 分钟前
Web前端面试题(2)
前端
知识分享小能手32 分钟前
React学习教程,从入门到精通,React 组件核心语法知识点详解(类组件体系)(19)
前端·javascript·vue.js·学习·react.js·react·anti-design-vue
蚂蚁RichLab前端团队1 小时前
🚀🚀🚀 RichLab - 花呗前端团队招贤纳士 - 【转岗/内推/社招】
前端·javascript·人工智能
孩子 你要相信光2 小时前
css之一个元素可以同时应用多个动画效果
前端·css
huangql5202 小时前
npm 发布流程——从创建组件到发布到 npm 仓库
前端·npm·node.js
Days20502 小时前
LeaferJS好用的 Canvas 引擎
前端·开源
小白菜学前端2 小时前
vue2 常用内置指令总结
前端·vue.js
林_深时见鹿2 小时前
Vue + ElementPlus 自定义指令控制输入框只可以输入数字
前端·javascript·vue.js
椒盐螺丝钉2 小时前
Vue组件化开发介绍
前端·javascript·vue.js
koooo~2 小时前
v-model与-sync的演变和融合
前端·javascript·vue.js