简易年历
鼠标移入,该月份呈红字白底状,下方盒子对应显示月份活动。
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>