我试图创建相应的数据表thead
时间,但我在保存日班时遇到麻烦,从AM-PM OR PM-AM
更改。我想当条件为D
时,它意味着它是日班,thead
应该从9AM-9PM
开始;当条件是N
时,它意味着它是夜班,并且thead
应该从9PM-9AM
开始。
<table class="table" id="mytable">
<thead>
<tr></tr>
</thead>
</table>
function load_table(status) {
$("table#mytable thead tr").empty();
let initTime = 0 - 3;
let startTime = 9;
if (status == "D") {
for (var i = 0; i < 13; i++) {
$("table#mytable thead tr").append(`
<th>${startTime} - ${startTime+1 <= 12 ? startTime+1 +"AM" : initTime+"PM"} </th>
`);
startTime++, initTime++;
}
} else {
for (var i = 0; i < 13; i++) {
$("table#mytable thead tr").append(`
<th>${startTime} - ${startTime+1 <= 12 ? startTime+1 +"PM" : initTime+"AM"} </th>
`);
startTime++;
}
}
}
load_table("N");
// D = DAY & N = Night
// Day = 9AM - 9PM
// Night = 9PM - 9AM
2条答案
按热度按时间ubof19bj1#
我认为这段代码可以解决你的任务:
ruyhziif2#
我认为如果你把格式化移位的逻辑从构造HTML的代码中分离出来,这个问题会变得容易得多。这样做的一个好处是,它会使测试移位构造(最难的部分)变得更容易,因为它会返回一个我们可以在控制台中查看的数组。
为了简化AM/PM逻辑,我最初也会根据24小时制创建每个小时。只有在格式化它以进行演示时,我才会将小时转换为12小时制。我们可以将格式化逻辑放入自己的函数中。
代码变为: