1. 程式人生 > >百度前端技術學院:第二十五天到第二十七天 倒數開始 滴答滴 滴答滴

百度前端技術學院:第二十五天到第二十七天 倒數開始 滴答滴 滴答滴

var year=document.getElementById("year-select"); var month=document.getElementById("month-select"); var day=document.getElementById("day-select"); var hour=document.getElementById("hour-select"); var minute=document.getElementById("minite-select"
); var second=document.getElementById("second-select"); var result=document.getElementById("result-wrapper"); var changeDD = 1;//->一個全域性變數 //初始化為現在時間 function YYYYMMDDstart() { MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; //先給年下拉框賦內容
var y = new Date().getFullYear(); for (var i = (y - 47); i < (y + 21); i++) {//以今年為準,前30年,後30年 year.options.add(new Option(" " + i + " 年", i)); } //賦月份的下拉框 for (var i = 1; i < 13; i++){ month.options.add(new Option(" " + i + " 月", i)); } //小時下拉框
for(var i=1;i<=24;i++){ hour.options.add(new Option(i)); } //分鐘下拉框 for(var i=1;i<=60;i++){ minute.options.add(new Option(i)); } //秒下拉框 for(var i=1;i<=60;i++){ second.options.add(new Option(i)); } /* year.value = y; month.value = new Date().getMonth() + 1; var n = MonHead[new Date().getMonth()]; if (new Date().getMonth() == 1 && IsPinYear(year.value)) n++; writeDay(n); //賦日期下拉框 //->賦值給日,為當天日期 day.value = new Date().getDate(); */ } function writeDay(n) //據條件寫日期的下拉框 { var e = day; optionsClear(e); for (var i = 1; i < (n + 1); i++) { e.options.add(new Option(" " + i + " 日", i)); if(i == changeDD){ e.options[i].selected = true; //->保持選中狀態 } } console.log(i); console.log(changeDD); } function IsPinYear(year) //判斷是否閏平年 { return (0 == year % 4 && (year % 100 != 0 || year % 400 == 0)); } //改變日下拉框 day.onchange=function DDD(){ changeDD = day.value; } function optionsClear(e) { e.options.length = 1; } //年發生變化時日期發生變化(主要是判斷閏平年) year.onchange=function(){ var MMvalue = month.options[month.selectedIndex].value; if (MMvalue == "") { var e = day; optionsClear(e); return; } var n = MonHead[MMvalue - 1]; if (MMvalue == 2 && IsPinYear(year.value)) n++; writeDay(n) } //月發生變化時日期聯動 month.onchange=function(){ var YYYYvalue = year.options[year.selectedIndex].value; console.log(YYYYvalue); if (YYYYvalue == "") { var e = day; optionsClear(e); return; } console.log(month.value); var n = MonHead[month.value - 1]; console.log(n); if (month.value == 2 && IsPinYear(YYYYvalue)) n++; writeDay(n) } if (document.attachEvent) window.attachEvent("onload", YYYYMMDDstart); else window.addEventListener('load', YYYYMMDDstart, false); function checkTime(x) { if (x < 10) { x = "0" + x; } return x; } function getTimeSelect(){ var str=year.value+"-"+month.value+"-"+day.value; var timeSelect=new Date(str); return year.value+"年"+checkTime(month.value)+"月"+checkTime(day.value)+"日"+getWeekday(timeSelect.getDay())+" "+checkTime(hour.value)+":"+checkTime(minute.value)+":"+checkTime(second.value); } function getWeekday(a){ var week=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; weekday=week[a]; return weekday; } function distance(){ var now=new Date(); var timeSelectStr = year.value + "/" + month.value + "/" + day.value + " " + hour.value + ":" + minute.value + ":" + second.value; var SelectTime=new Date(timeSelectStr); var secondDistance=now.getTime()-SelectTime.getTime(); var str; if (secondDistance < 0) { secondDistance = -secondDistance; str = " 還有"; } else { str = " 已經過去"; } var daym = secondDistance / 86400000; var hourm = (secondDistance % 86400000) / 3600000; var minutem = ((secondDistance % 86400000) % 3600000) / 60000; var secondm = (((secondDistance % 86400000) % 3600000) % 60000) / 1000; return str + parseInt(daym) + "天" + parseInt(hourm) + "小時" + parseInt(minutem) + "分" + parseInt(secondm) + "秒"; } function showDate(){ result.innerHTML="現在距離"+ getTimeSelect() + distance(); } setInterval(showDate,1000);