-
Notifications
You must be signed in to change notification settings - Fork 1
/
dom.js
53 lines (42 loc) · 1.72 KB
/
dom.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Start date of 台灣 國小 109學年度 下學期 第ㄧ周 : 2021-02-21
var dateStart = new Date("2021-02-21T00:00:00.000+08:00"); //reguest a UTC+8 timestamp of 2021/2/21
//var dateStart = new Date("2021-06-09T00:00:00.000+08:00");
//count time diff, calculate week# for even/odd weeks
var msecStart = dateStart.getTime();
var msecNow = Date.now(); // get msec of Local-Time
var weekNo = Math.floor((msecNow - msecStart) / ( 7* 24 * 3600000)) + 1;
// get Today's Date & Week String
const dateNow = new Date();
const weekdayStr = [ '日','ㄧ','二','三','四','五','六' ];
// assembly display string
var msgWeek = '今天 ' + dateNow.toLocaleDateString() + ' 第' + weekNo + '周 星期' + weekdayStr[dateNow.getDay()] ;
if ((weekNo % 2) == 0) { msgWeek += " 偶數周"; }
else { msgWeek += " 奇數周"; }
//console.log(msgWeek);
//
// check which session this time is
//
//console.log('Now: ' + Date().toLocaleString().slice(16,21));
function sessionNum () {
const timeStrNow = Date().toLocaleString().slice(16,21) ;
if ( timeStrNow >= "15:00" && timeStrNow <="15:40") { return 3; }
else return 0;
}
//console.log( 'Current Session Number is ' + sessionNum());
//
// get Table item
//
function markSess (weekType, dayNum, sessNum) {
var tableEl = document.getElementsByTagName('table') ;
//console.log(tableEl);
cellEl = tableEl[weekType].getElementsByTagName('td');
//console.log(cellEl [5 + (dayNum-1) + sessNum*4]);
cellEl[ 5 + (dayNum-1) + sessNum*4].style.backgroundColor = '#fa520f' ;
cellEl[ 5 + (dayNum-1) + sessNum*4].style.color = '#ffffff' ;
console.log('even/odd: ' + weekType + ' day: ' + dayNum + ' sess: ' + sessNum);
}
//test it
markSess(0,2,1);
markSess(0,3,0);
markSess(1,1,0);
markSess(1,3,2);