// ========================================================== // 計時器功能 // ========================================================== ;(function($) { $('.timer').each(function(i, ele) { const startTime = $(ele).data('start') * 1000 const endTime = $(ele).data('end') * 1000 setInterval(countDown, 1000, ele, endTime, startTime) countDown(ele, endTime, startTime) }); function countDown(target, endTime, startTime) { const nowTime = Date.now() if(startTime > nowTime) { $(target).text('尚未開始') } else if(nowTime > endTime) { $(target).text('優惠結束') } else { const leftTime = endTime - nowTime const leftSec = Math.floor(leftTime / 1000) % 60 const leftMin = Math.floor(leftTime / 1000 / 60) % 60 const leftHour = Math.floor(leftTime / 1000 / 60 / 60) % 24 $(target).text(`${padLeft(leftHour, 2)}:${padLeft(leftMin, 2)}:${padLeft(leftSec, 2)}`) } } function padLeft(content, length, symbol) { let targetStr = content.toString() let letter = symbol || 0 if(targetStr.length < length) { targetStr = letter + targetStr return padLeft(targetStr, length, letter) } else { return targetStr } } })($)