<body>
<div id="datebox"></div><!--选完日期后填入的地方-->
<div style="display: flex;">
<div class="years">
</div>
<div class="mouth" style="display: none">
</div>
<div class="day" style="display: none">
</div>
</div>
</body>
<script>
var startYear = 1918;
var years = document.getElementsByClassName('years')[0];
var mouth = document.getElementsByClassName('mouth')[0];
var days = document.getElementsByClassName('day')[0];
for(var k = startYear; k <= 2018; k++){
var node = createNode(k);
years.appendChild(node);
}
for(var m = 1; m <= 12; m++){
var node = createNode(m);
mouth.appendChild(node);
}
function createDay(option){
for(var i = 1; i <= option; i++){
var node = createNode(i);
days.appendChild(node);
}
}
function createNode (num){
var node = document.createElement('a');
node.innerHTML = num;
node.style.display = 'block';
return node;
}
function year(years){
return years%100 == 0 ? (years%400 == 0 ? 1 : 0) : (years%4 == 0 ? 1 : 0);
}
function day(mouths, fn){
if(fn == 1 && mouths == 2){
return 29;
}else{
if(mouths == 2){
return 28;
}else if(mouths == 4 ||mouths == 6 ||mouths == 9 || mouths == 11){//4 6 7 9 11 -> 30
alert(mouths);
return 30;
}else{
return 31;
}
}
}
years.addEventListener('click', function(e){
var temps = [];
alert(e.target.innerHTML);
temps.push(e.target.innerHTML);
mouth.style.display = 'block';
mouth.addEventListener('click', function(e){
temps.push(e.target.innerHTML);
days.style.display = 'block';
alert(temps[1]);
createDay(day(temps[1], year(temps[0])));
days.addEventListener('click', function(e){
temps.push(e.target.innerHTML);
var dates = temps[0] + '年' + temps[1] + '月' + temps[2] + '日';
datebox.innerHTML = dates;
this.style.display = 'none';
mouth.style.display = 'none';
years.style.display = 'none';
})
})
})</script>
</html>
注意push的用法;||的用法,