色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript實(shí)現(xiàn)簡(jiǎn)單日歷效果

瀏覽:2日期:2023-06-16 18:12:51

本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)簡(jiǎn)單日歷效果的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)效果:

根據(jù)所選擇的年月,列出當(dāng)月對(duì)應(yīng)是周幾,效果圖如下:

JavaScript實(shí)現(xiàn)簡(jiǎn)單日歷效果

實(shí)現(xiàn)思路:

1、使用select標(biāo)簽保存年月的所選菜單。使用table標(biāo)簽保存當(dāng)月天數(shù),表頭為固定的周日周一等。

2、使用option對(duì)象,給年月循環(huán)賦值。

3、將每月的天數(shù)保存到數(shù)組中,根據(jù)所選的年月獲取當(dāng)月的天數(shù),以及當(dāng)月一號(hào)對(duì)應(yīng)周幾,對(duì)應(yīng)周幾就在第一行先打印幾個(gè)空格,然后從一號(hào)開始依次打印當(dāng)月天數(shù)。

4、刷新年月時(shí),清除上次表格中(除表頭的周)的數(shù)據(jù),重新填入數(shù)據(jù)。

代碼實(shí)現(xiàn):

<!DOCTYPE html><html> <head> <meta charset='UTF-8'> <title></title> <!--CSS樣式--> <style type='text/css'> *{margin: 0px;padding: 0px;} #div{width: 400px;height: 300px;border: 1px solid red;margin: auto;} #div div:nth-child(1){display: flex;align-items: center;justify-content: center;} #tbcal{border-collapse: collapse;width: 100%;text-align: center;} #tbcal tr td{border: 1px solid red;} </style> <script type='text/javascript'>// 加載完HTML內(nèi)容后,JavaScript開始執(zhí)行 window.onload=function(){ initial(); document.getElementById('selyear').onchange=show; document.getElementById('selmonth').onchange=show; show(); }// 顯示日歷 function show(){// 獲取鼠標(biāo)點(diǎn)擊所選擇的年月值 var year=parseInt(document.getElementById('selyear').value); var month=parseInt(document.getElementById('selmonth').value);// 判斷是否為閏年,以便確定2月的天數(shù) var flag=year%4==0&&year%100!=0||year%400==0; var dayofmonth=[31,flag?29:28,31,30,31,30,31,31,30,31,30,31];// 給date賦值,值為所選擇的某年某月一號(hào) var dt=new Date(); dt.setFullYear(year); dt.setMonth(month-1); dt.setDate(1);// 獲取date對(duì)應(yīng)周幾 var week=dt.getDay();// 當(dāng)月應(yīng)該打印多少行 var rows=Math.ceil((dayofmonth[dt.getMonth()]+week)/7); var k=0;// 如果表格中有除表頭外的數(shù)據(jù),進(jìn)行數(shù)據(jù)刪除,避免上次月份的數(shù)據(jù)對(duì)下次有影響 var table=document.getElementById('tbcal'); while(table.rows.length>1){ table.deleteRow(1); }// 循環(huán)向表格中添加數(shù)據(jù),生成日歷 for(var i=0;i<rows;i++){ var row=table.insertRow(i+1); for(var j=0;j<7;j++){ var cell=row.insertCell(j); k++; if(k<=week || k>dayofmonth[dt.getMonth()]+week){ cell.innerHTML=''; } else{ cell.innerHTML=k-week; } } } }// 通過option對(duì)象向年月中循環(huán)賦值 function initial(){ var years=document.getElementById('selyear'); var months=document.getElementById('selmonth'); for (var i=1990;i<2019;i++) { var option=document.createElement('option'); option.text=i; years.add(option); } for (var i=1;i<13;i++) { var option=document.createElement('option'); option.text=i; months.add(option); } } </script> </head> <body> <div id='div'> <!--定義年月菜單--> <div> <select id='selyear'></select>&nbsp;年&nbsp; <select id='selmonth'></select>&nbsp;月&nbsp; </div> <div> <!--定義列表--> <table id='tbcal'> <tr> <td>周日</td> <td>周一</td> <td>周二</td> <td>周三</td> <td>周四</td> <td>周五</td> <td>周六</td> </tr> </table> </div> </div> </body></html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 成人免费ā片 | 久久精品国产午夜伦班片 | 久久不见久久见免费影院 | 亚洲精品久久99久久 | 成人亚洲精品一区二区 | 九九黄色影院 | 欧美在线观看不卡 | 久久一本色系列综合色 | 国产成人精品高清免费 | 91久久色 | 午夜宅男宅女看在线观看 | 红色记忆 | 欧洲一级鲁丝片免费 | 手机免费毛片 | 午夜男人女人爽爽爽视频 | 天天躁日日躁狠狠躁一级毛片 | 日韩欧美一级毛片精品6 | 男人添女人下面免费毛片 | 69av亚洲| 久久免费手机视频 | 日韩欧美在线观看视频 | 国产精品色午夜视频免费看 | 亚洲国产一区二区a毛片日本 | 日韩精品一区二三区中文 | 国产精品日韩欧美在线第3页 | 色偷偷成人网免费视频男人的天堂 | 失禁h啪肉尿出来高h健身房 | 久久久视 | 国产孕妇孕交一级毛片 | 神马午夜-午夜片 | 色婷婷色综合激情国产日韩 | 久久精品国产精品亚洲精品 | 在线中文字幕播放 | 日韩黄色免费观看 | 亚洲日韩aⅴ在线视频 | 中日韩精品视频在线观看 | 成年女人看片免费视频播放器 | 91久久精品 | 高清国产亚洲va精品 | 国产色啪午夜免费视频 | 免费久|