javascript 的倒记时问题~菜鸟级别

javascript 的倒记时问题~菜鸟级别,第1张

补充:

<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),绝对长度单位。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7350175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存