javascript-案例 簡易日曆(無this.index)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style type="text/css">
* { padding: 0; margin: 0; }
li { list-style: none; }
body { background: #f6f9fc; font-family: arial; }
.calendar { width: 210px; margin: 0 auto; padding: 10px 10px 20px 20px; background: #eae9e9; }
.calendar ul { 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: #424242; color: #fff; text-align: center; cursor: pointer; }
.calendar li h2 { font-size: 20px; padding-top: 5px; }
.calendar li p { font-size: 14px; }
.calendar .active { border: 1px solid #424242; background: #fff; color: #e84a7e; }
.calendar .active p { font-weight: bold; }
.calendar .text { width: 178px; padding: 0 10px 10px; border: 1px solid #fff; padding-top: 10px; background: #f1f1f1; color: #555; }
.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 id="box">
<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" id="txt">
<h2>1月活動</h2>
<p>快過年了,大家可以商量著去哪玩吧~</p>
</div>
</div>
</body>
<script>
var arr=['快過年了,大家可以商量著去哪玩吧~',
'大家好好學習吧222222~~~',
'大家好好學習吧222222333~~~',
'大家好好學習吧222444222~~~',
'大家好好學習555吧222222~~~',
'大家好好學習吧666222222~~~',
'大家好好學習吧227772222~~~',
'大家好好學習吧28888822222~~~',
'大家好好學習吧99999222222~~~',
'大家好好學習10000000吧222222~~~',
'大家好好學習吧111111222222~~~',
'大家好好學習吧22222200000000000~~~']
var ali = document.querySelectorAll("#box li");
var oh2 = document.getElementById("txt").children[0];
var op = document.getElementById("txt").children[1];
// for(var k=0;k<ali.length;k++){
// ali[k].abc = k;
// }
// 所有li繫結點選事件
// 迴圈立即執行,不會等事件
for(var i=0;i<ali.length;i++){
// 提前給每個li都編號(預設沒有編號)
ali[i].abc = i;
// 事件在將來被點選的時候觸發
ali[i].onclick = function(){
// 等觸發事件時,迴圈早就執行完了,外面的迴圈的計數器i已經是最後一個了,length
// 所以再寫一個迴圈,重新遍歷li
// 取消所有
for(var j=0;j<ali.length;j++){
ali[j].className = "";
}
// this:執行當前函式的物件
// console.log(this)
// 給當前加上
this.className = "active";
// 找到索引
console.log(this.abc)
// 根據索引找到陣列中的資料
oh2.innerHTML = this.abc+1 + "月活動";
op.innerHTML = arr[this.abc]
}
&nbs