1 回答

TA貢獻1831條經驗 獲得超4個贊
這不是真正的 DataTables 問題,但它很有趣,所以這就是我的工作:
(() => {
setInterval(() => {
const table = document.getElementById("dataTable")
for (var i = 0, row; row = table.rows[i]; i++) {
const dueDate = row.querySelector('.due-date')
if (dueDate) {
const dateBits = dueDate.innerHTML.split('/')
const dateDue = new Date(dateBits[2], dateBits[1], dateBits[0]).getTime()
const now = new Date().getTime()
const distance = dateDue - now
const countDownDate = row.querySelector('.text-warning')
if (distance < 0) {
countDownDate.innerHTML = 'EXPIRED'
} else {
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
countDownDate.innerHTML = `Remaining time ${days} Days ${hours} hours ${minutes} minutes ${seconds}s`
}
}
}
}, 1000)
})()
我們在這里所做的是每秒抓取表格,遍歷表格行并檢查是否有適當的單元格稱為due-date。如果存在,那么我們檢查距離,如果它是負數,那么我們將具有類的單元格設置text-warning為EXPIRED否則,我們添加適當的消息。我希望這有幫助嗎?在這里工作 JSFiddle 。
添加回答
舉報