博主信息
博文 15
粉丝 0
评论 1
访问量 17969
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JQuery-使用JQ写选项卡功能(2019.8月5日16时40分)
楚Chen
原创
1185人浏览过

JQuery-使用JQ写选项卡功能


实例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JQuery-选项卡</title>
		<style type="text/css">
			* {
				margin: 0;
				padding: 0;
			}

			.box {
				width: 800px;
				margin: 12px auto;

			}

			ul {
				list-style-type: none;
			}

			.tab-nav {
				width: 306px;
				margin-top: 20px;
				/* border: 1px dotted black; */
				overflow: hidden;
			}

			.tab-nav ul li {
				width: 100px;
				text-align: center;
				float: left;
				/* margin-right:12px; */
			}

			.tab-nav ul li:hover {
				/* 鼠标移入样式 */
				cursor: pointer;
			}

			.tab-nav .active {
				background-color: black;
				color: white;
			}

			.tab-content {
				width: 304px;
			}

			.tab-content .content {
				padding: 6px;
				line-height: 1.6rem;
				border: 1px dotted black;
				display: none;
			}

			.tab-content .active {
				display: block;
			}
		</style>
	</head>
	<body>
		<div class="box">
			<!-- 选项卡标签导航 -->
			<!-- 使用自定义属性data-把标签导航和对应的内容区进行关联 -->
			<div class="tab-nav">
				<ul>
					<li data-index="1" class="active">HTML</li>
					<li data-index="2">CSS</li>
					<li data-index="3">JavaScript</li>
				</ul>
			</div>
			<!-- 选项卡标签导航对应的内容区 -->
			<div class="tab-content">
				<div class="content active" data-index="1">
					<ul>
						<li>前端语言</li>
						<li>HTML</li>
						<li>是一个超文本标记语言</li>
					</ul>
				</div>
				<div class="content" data-index="2">
					<ul>
						<li>前端语言</li>
						<li>CSS</li>
						<li>是用来美化网页的</li>
					</ul>
				</div>
				<div class="content" data-index="3">
					<ul>
						<li>JavaScript</li>
						<li>真的很好玩</li>
						<li>弱类型脚本语言</li>
					</ul>
				</div>
			</div>
		</div>
		<script src="jquery/jquery-3.4.1.js"></script>
		<script>
			$(function() {
				// 获取tab导航下第一个子元素节点UL下所有的子元素节点
				var tabList = $('.tab-nav ul').children();
				// 把导航标签转为数组
				// var tabArr = $('.tab-nav ul').children().toArray();
				// 把内容区转为数组
				var conArr = $('.content').toArray();
				// 给tab导航添加点击事件代理
				$('.tab-nav').on('click', tabclick);
				function tabclick(event) {
					// 当点击了一个导航标签后,其他标签的高亮样式全部取消
					tabList.each(function(index,tab) {
						$(tab).removeClass('active')
					});
					// 给当前点击的标签添加active高亮样式
					$(event.target).addClass('active');
					// 清除内容详情区样式,并根据内容区data-index和导航data-index的对应关系,显示对应的内容页面
					$.each(conArr,function(index,conlist) {
						$(conlist).removeClass('active')
					});
					$.each(conArr,function(index,conlist) {
						// 给当前点击的导航对应的内容区添加active 默认显示样式               
						if ($(event.target).data('index') === $(conlist).data('index')) {
							// console.log($(conlist).data('index'));
							$(conlist).addClass('active');
						}
					});

				}
				$('.tab-nav').on('mouseover', tabclick);

			});
		</script>
	</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

gif5新文件 (3).gif

批改状态:合格

老师批语:改写的不错, 但还可以进一步的简化
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学