|
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
做得比較急,所以沒(méi)考慮兼容性。
通過(guò)兩個(gè)類實(shí)現(xiàn),一個(gè)是面板類,一個(gè)是日歷類。
由于我開發(fā)時(shí)所有公共js都是在頂級(jí)窗口一次加載的,所以在子窗口創(chuàng)建對(duì)象時(shí)需要把當(dāng)前窗口對(duì)象傳進(jìn)去,例如: var panel = new parent.parent.SelectPanel(self);如果沒(méi)傳self參數(shù),默認(rèn)就是加載js的窗口。
marcian 在網(wǎng)上找的那個(gè)公歷算法有點(diǎn)復(fù)雜,呵呵。我獲取當(dāng)前月最大天數(shù),以及當(dāng)前月第一天是星期幾是直接通過(guò)JS自帶的Date函數(shù)來(lái)實(shí)現(xiàn)的。
復(fù)制代碼 代碼如下:
// 獲取當(dāng)月最大天數(shù)
//asfman提供更簡(jiǎn)單的方式:return (new Date(y, m+1, 0)).getDate()
function GetDates(year, month)
{
var date = new Date(year, month, 31);
return 31 - date.getDate() || 31;
}
// 獲取當(dāng)月第一天是星期幾
function GetFirstDay(year, month)
{
return (new Date(year, month, 1)).getDay();
}
/* 下面這部分可以不要,因?yàn)榧词钩霈F(xiàn)new Date(2007, -1, 31),這種現(xiàn)象,Date會(huì)自動(dòng)轉(zhuǎn)換成Date(2006, 12, 31)
if(month < 0)
{
month = 11;
year--;
}
if(month == 12)
{
month = 0;
year++;
}*/
JavaScript技術(shù):又一日歷輸入效果沒(méi)考慮兼容性,IE通過(guò),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。