
还有需要把时间的顺序倒过来。如现在需要实现成这样的:
| 8时至今 | 2012年11月28日 (20-21时) |
2012年11月28日 (21-22时) |
2012年11月28日 (22-23时) |
2012年11月28日 (23-0时) |
2012年11月29日 (0-1时) |
2012年11月29日 (1-2时) |
2012年11月29日 (2-3时) |
2012年11月29日 (3-4时) |
2012年11月29日 (4-5时) |
2012年11月29日 (5-6时) |
2012年11月29日 (6-7时) |
2012年11月29日 (7-8时) |
html代码如下:
<table width="1056" border="1" align="center" cellPadding="0" cellSpacing="0" borderColorLight="#009999" borderColorDark="#ffffff" bgColor="#DAEBF8"> <tr style="font-size:12px;"> <td width="72" rowspan="2"><div align="center">所属地</div></td> <td width="67" rowspan="2" ><div align="center">名称</div></td> <td height="20" colspan="13" bgcolor="DAEBF8"><div align="center">降雨量(12小时段)</div></td> </tr> <tr style="font-size:12px;" id="trd"> <td height="20" width="54" align="center"></td> <td height="20" width="54" align="center"></td> <td height="20" width="53" align="center"></td> <td height="20" width="69" align="center"></td> <td height="20" width="54" align="center"></td> <td height="20" width="68" align="center"></td> <td height="20" width="55" align="center"></td> <td height="20" width="54" align="center"></td> <td height="20" width="52" align="center"></td> <td height="20" width="68" align="center"></td> <td height="20" width="69" align="center"></td> <td height="20" width="69" align="center"></td> <td height="20" width="69" align="center"></td> </tr> </table>
javascript代码如下:
<script type="text/javascript">
var timeArr = [];
var myDate = new Date();
var hour = myDate.getHours();
var year = myDate.getFullYear();
var month = (myDate.getMonth()) + 1;
var day = myDate.getDate();
for (var i = 0; i < 12; i++) {
if (hour - i >= 0) {
timeArr.push(hour - i);
}
else {
timeArr.push(hour - i + 24);
}
}
var tds = document.getElementById("trd").getElementsByTagName("td");
tds[0].innerHTML = "8时至今";
for (var i = 0, l = tds.length; i < l; i++) {
if (timeArr[i] - 1 < 0 ) {
tds[i + 1].innerHTML = year + "年" + month + "月" + (day - 1) + "日" + "<br/>" + "(" + (timeArr[i] - 1 + 24) + "-" + timeArr[i] + "时)";
}
else {
if (tds[i + 1] != null) {
if (timeArr[i] > 23) {
tds[i + 1].innerHTML = year + "年" + month + "月" + (day-1) + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + timeArr[i] + "时)";
}
else {
tds[i + 1].innerHTML = year + "年" + month + "月" + day + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + timeArr[i] + "时)";
}
}
}
}
</script>
望高手帮帮忙!
你能做到这一步,就不是js的问题了。
顺序倒过来,将tds[i+1]改成tds[tds.length-i]试试看看,代码暂时没时间看,应该是你少考虑了一些情况,少加了判断
问题已解决:现在帖出代码
<script type="text/javascript">
var timeArr = [];
var myDate = new Date();
var hour = myDate.getHours();
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var day = myDate.getDate();
for (var i = 0; i < 12; i++) {
if (hour - i >= 0) {
timeArr.push(hour - i);
}
else {
timeArr.push(hour - i + 24);
}
}
myDate.setDate(myDate.getDate()-1);
var tds = document.getElementById("trd").getElementsByTagName("td");
tds[12].innerHTML = "8时至今";
for (var i = 0, l = tds.length - 1; i < l; i++) {
if (timeArr[i] - 1 < 0) {
tds[l - i - 1].innerHTML = myDate.getFullYear() + "年" + (myDate.getMonth() + 1) + "月" + (day - 1) + "日" + "<br/>" + "(" + (timeArr[i] - 1 + 24) + "-" + timeArr[i] + "时)";
}
else if (timeArr[i] - 12 > 0) {
tds[l - i - 1].innerHTML = myDate.getFullYear() + "年" + (myDate.getMonth() + 1) + "月" + myDate.getDate() + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + timeArr[i] + "时)";
}
else {
if (tds[l - i - 1] != null) {
tds[l - i - 1].innerHTML = year + "年" + month + "月" + day + "日" + "<br/>" + "(" + (timeArr[i] - 1) + "-" + (timeArr[i]) + "时)";
}
}
}
</script>