<script>
var _month = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'Septemper', 'October', 'November', 'December']
var _season = ['Spring', 'Summer', 'Autumn', 'Winter']
// 初始化选择器
function init6() {
var curDate = new Date(),
oMsel = document.getElementById('msel'),
oDsel = document.getElementById('dsel')
// 添加月份
if (oMsel.length == 0) {
for (var i = 0i <12i ++) {
var oOpt = document.createElement('option')
oOpt.value = i
oOpt.innerHTML = _month[i]
oMsel.appendChild(oOpt)
}
}
// 添加日期
if (oDsel.length == 0) {
for (var i = 1i <= 31i++) {
var oOpt = document.createElement('option')
oOpt.value = i
oOpt.innerHTML = i
oDsel.appendChild(oOpt)
}
}
oMsel[curDate.getMonth()].setAttribute('selected', true)// 选中当前月
oDsel[(curDate.getDate() - 1)].setAttribute('selected', true)// 选中当前日期
}
// 事件响应
function doClick62() {
var oMsel = document.getElementById('msel'),
oDsel = document.getElementById('dsel')
var curDate = new Date(), // 当前日期
birDate = new Date(curDate.getYear(), oMsel[oMsel.selectedIndex].value, oDsel[oDsel.selectedIndex].value)// 创建当年生日日期
// new Date()函数会自动根据溢出得到下一个日期,比如4月31日会溢出为5月1日
// 生日月小于当前月 或 (生日月等于当前月 且 生日小于当前日) ->下个生日的年份加一
if ((birDate.getMonth() <curDate.getMonth()) ||
((birDate.getMonth() == curDate.getMonth()) &&(birDate.getDate() <curDate.getDate()))) {
birDate.setYear(birDate.getYear() + 1)
}
var days = Math.ceil((birDate - curDate) / (1000 * 60 * 60 * 24))// 计算出日期
doOutput({d : days, mIn : birDate.getMonth(), dIn : birDate.getDate()})// 输出函数
}
// 输出
function doOutput(args){
var oYname = document.getElementById('yname'),
oSn = document.getElementById('season'),
oDs = document.getElementById('days'),
season
// 季节按照中国的算,有区别的修改下月份判断
if (args.mIn >= 1 &&args.mIn <= 3) { // 2月初到5月初为春季
season = _season[0]
} else if (args.mIn >= 4 &&args.mIn <= 6) { // 5月到7月
season = _season[1]
} else if (args.mIn >= 7 &&args.mIn <= 9) { // 8月到10月
season = _season[2]
} else { // 11月到次年1月
season = _season[3]
}
oSn.value = oYname.value + '\'s birthday is on ' + _month[args.mIn] + ' ' + args.dIn + ' and it is in the ' + season
oDs.value = args.d + ' more days till ' + oYname.value + '\'s next birthday!'
}
window.onlad = init6
</script>
INPUT<br>
Enter your name in the box:<br>
<input type="text" name="yname" value="lauren"><br>
Enter your birth month:<br>
<select name="msel" style="width:160px" size="3"></select><br>
Enter your birth day date:<br>
<select name="dsel" style="width:160px"></select><br>
<input type="button" value=" submit " onclick="doClick62()">
<input type="button" value=" reset " onclick="init6()"><br>
OUTPUT<br>
<input type="text" name="season" style="width:460px"><br>
<input type="text" name="days" style="width:460px">
----------------------
<script>
// 没有判断输入字符正确性
function doClick6() {
var o = document.getElementById('birthday'),
birArr = o.value.split(/\/|-/), // 以 / 或 - 分割日期字符串
curDate = new Date(), // 当前日期
birDate = new Date(curDate.getYear(), birArr[0] - 1, birArr[1])// 创建当年生日日期
// 生日月小于当前月 或 (生日月等于当前月 且 生日小于当前日) ->下个生日的年份加一
if ((birDate.getMonth() <curDate.getMonth()) ||
((birDate.getMonth() == curDate.getMonth()) &&(birDate.getDate() <curDate.getDate()))) {
birDate.setYear(birDate.getYear() + 1)
}
var days = (birDate - curDate) / (1000 * 60 * 60 * 24)
alert(days)
alert(Math.ceil(days))
}
</script>
<input type="text" name="birthday" value="4-10">
<input type="button" value=" show " onclick="doClick6()">
html中几种常见长度单位如下:em:相对长度单位。相对于当前对象内文本的字体尺寸。如当前行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
ex:相对长度单位。相对于字符“x”的高度。此高度通常为字体尺寸的一半。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
pt:点(Point),绝对长度单位。
pc:派卡(Pica),绝对长度单位。相当于我国新四号铅字的尺寸。
in:英寸(Inch),绝对长度单位。
mm:毫米(Millimeter),绝对长度单位。
cm:厘米(Centimeter),绝对长度单位。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)