如图所示,打要实现开窗口,弹出一个框,要求你输入年份。输入年份后,会展示当年12个月的日历。以下是CSS代码 和其中一个月代码。要求使用函数来实现。谢谢大大佬啦!!
<head>
<meta charset="UTF-8">
<title>生成年历</title>
<style>
body{text-align:center;}
.box{margin:0 auto;width:880px;}
.title{background:#ccc;}
table{height:200px;width:200px;font-size:12px;text-align:center;float:left;margin:10px;font-family:arial;}
</style>
</head>
<body>
<div class="box">
<table>
<tr class="title"><th colspan="7">2018 年 1 月</th></tr>
<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>
<tr><td colspan="1"> </td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td></tr>
<tr><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td></tr>
<tr><td>21</td><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td></tr>
<tr><td>28</td><td>29</td><td>30</td><td>31</td></tr>
</table>
<head>
<meta charset="UTF-8">
<title>生成年历</title>
<style>
body{text-align:center;}
.box{margin:0 auto;width:880px;}
.title{background:#ccc;}
table{height:200px;width:200px;font-size:12px;text-align:center;float:left;margin:10px;font-family:arial;}
</style>
</head>
<body>
<div class="box">
<table>
<tr class="title"><th colspan="7">2018 年 1 月</th></tr>
<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>
<tr><td colspan="1"> </td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td></tr>
<tr><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td></tr>
<tr><td>21</td><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td></tr>
<tr><td>28</td><td>29</td><td>30</td><td>31</td></tr>
</table>
解决方案 »
- input已经指定了onclick事件方法:onclick="mehod1",用jquey怎样追加方法,如:="mehod1;return true"
- Aptana的使用问题
- JS验证,判断是否为空但是有条件限制。。。求解
- 求一个accordion效果
- 超简单的问题..动态添加事件
- 关于JS时间计算的问题,在线等,立马结贴!!
- 请问变量.focus()怎样才能执行?以后另开贴给分
- jsp页面传递中文
- 为什么一个页面有javascript也有vbscript时,执行是总是提示错误
- js表格提交问题
- 新人求教,isNaN的判断问题
- angular cli 生成的工程 ng serve的时候运行到95% emitting LicenseWebpackPlugin卡住。
<html>
<head>
<meta charset="utf-8" />
<title>日历</title>
<style>
body{text-align:center;}
.box{margin:0 auto;width:880px;}
.title{background:#ccc;}
table{height:200px;width:200px;font-size:12px;text-align:center;float:left;margin:10px;font-family:arial;}
</style>
</head>
<body>
<div class="box"></div>
</body>
<script type="text/javascript">
var year = parseInt(prompt("请输入年份:"), 10) || new Date().getFullYear();
var month = [31,28,31,30,31,30,31,31,30,31,30,31];
var day = [];
var temp = '<table><tr class="title"><th colspan="7">{y} 年 {m} 月</th></tr><tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>{tr}</table>'document.querySelector(".box").innerHTML = calendar(year);function calendar(y){
var arr = [];
for(var i = 0; i < 31; i++){
day.push(i + 1);
}
month[1] = ((y % 4)==0) && ((y % 100)!=0) || ((y % 400)==0) ? 29 : 28;
for(var i = 1; i <= 12; i++){
arr.push(create(y, i));
}
return arr.join('');
}
function create(y, m){
var str = temp.replace('{y}', y).replace('{m}', m);
var date = new Date(y, m - 1, 1);
var arr = [], tr = [];
arr = arr.concat(new Array(date.getDay()), day.slice(0, month[m - 1]));
arr = arr.concat(new Array(arr.length % 7));
for(var i = 0; i < arr.length; i += 7){
tr.push("<tr><td>" + arr.slice(i, i + 7).join("</td><td>") + "</td></tr>");
}
return str.replace('{tr}', tr.join(''));
}
</script>
</html>