js03简易年历

简易年历

在这里插入图片描述

鼠标移入,该月份呈红字白底状,下方盒子对应显示月份活动。
在这里插入图片描述

js思路:
1.按钮:将选项卡的思想嵌套。数字(li)进入移入事件时,for循环遍历让所有数字(li)的className变成空,循环结束后,将当前移入的数字块this的className变成类active的红字白底样式,this.className = ‘active’;
2.盒子:设置一个空的字符串 var sInnterHtml = ‘’;,用来存储某月份运动和下方的介绍(1)、上方标签的某月运动:嵌套选项卡思想,在将所有数字块进入移入事件前,先记录当前移入数字块的索引 aLiBtn[i].index = i; 用空字符串存储当月活动 sInnterHtml = “< h2>” + (this.index+1) + “月活动”;设一个数组aInnerText[],将12个月份的简介存入数组中,那么就可用当前移入数字块的索引值j值将数组中对应月份的简介存入字符串slnnterHtml中。
sInnterHtml = “< h2>” + (this.index+1) + “月活动</ h2>”;
sInnterHtml += “< p>” + aInnerText[this.index] + “</ p>”;
最后innerHtml: oText.innerHTML = sInnterHtml;

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			* {
				margin: 0;
				padding: 0;
			}
			
			li {
				list-style: none;
			}
			
			.calendar {
				width: 210px;
				margin: 0 auto;
				background-color: #EAE9E9;
				padding: 10px 10px 20px 20px;
				/*上右下左*/
			}
			
			.calendar ul {
				/*background-color: #424242;*/
				width: 210px;
				overflow: hidden;
				padding-bottom: 10px;
			}
			
			.calendar li {
				float: left;
				width: 58px;
				height: 54px;
				margin: 10px 10px 0 0;
				border: 1px solid #fff;
				background-color: #424242;
				color: #fff;
				text-align: center;
				cursor: pointer;
			}
			
			.calendar li h2 {
				font-size: 20px;
				padding-bottom: 5px;
			}
			
			.calendar li p {
				font-size: 14px;
			}
			
			.calendar .active {
				border: 1px solid #424242;
				background-color: #fff;
				color: #e84a7e;
			}
			
			.calendar .text {
				width: 178px;
				padding: 0 10px 10px;
				border: 1px solid #fff;
				padding-bottom: 10px;
				background-color: #F1F1F1
			}
			
			.calendar .text h2 {
				font-size: 14px;
				margin-bottom: 10px;
			}
			
			.calendar .text p {
				font-size: 12px;
				line-height: 18px;
			}
		</style>
	</head>

	<body>
		<div id="tab" class="calendar">
			<ul>
				<li class="active">
					<h2>1</h2>
					<p>JAN</p>
				</li>
				<li>
					<h2>2</h2>
					<p>FER</p>
				</li>
				<li>
					<h2>3</h2>
					<p>MAR</p>
				</li>
				<li>
					<h2>4</h2>
					<p>APR</p>
				</li>
				<li>
					<h2>5</h2>
					<p>MAY</p>
				</li>
				<li>
					<h2>6</h2>
					<p>JUN</p>
				</li>
				<li>
					<h2>7</h2>
					<p>JUL</p>
				</li>
				<li>
					<h2>8</h2>
					<p>AUG</p>
				</li>
				<li>
					<h2>9</h2>
					<p>SEP</p>
				</li>
				<li>
					<h2>10</h2>
					<p>OCT</p>
				</li>
				<li>
					<h2>11</h2>
					<p>NOV</p>
				</li>
				<li>
					<h2>12</h2>
					<p>DEC</p>
				</li>

			</ul>
			<div class="text">
				<h2>1月活动</h2>
				<p>快过年了,大家可以商量着去哪玩吧~</p>
			</div><!--text-->
		</div><!--tab-->
		
		<script type="text/javascript">
			var aInnerText = [
				"羽生结弦(Yuzuru Hanyu ),1994年12月7日出生于日本宫城県仙台市,日本著名花样滑冰男选手。",
				"羽生结弦以优雅柔软的身段和惊人的早慧闻名",
				"具有强烈的艺术感染力,其高难度的阿克萨尔三周跳的进入和高速的四周跳震撼花样滑冰界。",
				"2014年,年仅19岁的羽生结弦成为男单花样滑冰66年来最年轻的奥运冠军,",
				"首位亚洲男单奥运会金牌得主,史上继亚古丁后又一位同一赛季大满贯得主,",
				"短节目史上第一位超过100分,自由滑超过220分,总成绩超过330分的选手且记录保持者。",
				"羽生结弦(Yuzuru Hanyu ),1994年12月7日出生于日本宫城県仙台市,日本著名花样滑冰男选手。",
				"羽生结弦以优雅柔软的身段和惊人的早慧闻名",
				"具有强烈的艺术感染力,其高难度的阿克萨尔三周跳的进入和高速的四周跳震撼花样滑冰界。",
				"2014年,年仅19岁的羽生结弦成为男单花样滑冰66年来最年轻的奥运冠军,",
				"首位亚洲男单奥运会金牌得主,史上继亚古丁后又一位同一赛季大满贯得主,",
				"短节目史上第一位超过100分,自由滑超过220分,总成绩超过330分的选手且记录保持者。"
			];
			window.onload = function() {
				var oDiv = document.getElementById('tab');
				var aLiBtn = oDiv.getElementsByTagName('ul')[0].getElementsByTagName('li');
				var oText = oDiv.getElementsByTagName('div')[0];
				var sInnterHtml = '';
				var i = 0;

				for(i = 0; i < aLiBtn.length; i++) {
					aLiBtn[i].index = i;	//当前鼠标移入的索引值
					aLiBtn[i].onmouseover = function() {
						for(i = 0; i < aLiBtn.length; i++) {
							aLiBtn[i].className = '';
						}
						this.className = 'active';
						sInnterHtml = "<h2>" + (this.index+1) + "月活动</h2>";
						sInnterHtml += "<p>" + aInnerText[this.index] + "</p>";

						oText.innerHTML = sInnterHtml;
						
					};
				}
			};
		</script>
	</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值