25/12/2023
This commit is contained in:
58
src/main.ts
58
src/main.ts
@@ -75,64 +75,6 @@ function xayhtml(product: ProductInfo) {
|
||||
`;
|
||||
}
|
||||
|
||||
function formatPrice(price: number) {
|
||||
var b = price.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1.").toString();
|
||||
var len = b.length;
|
||||
b = b.substring(0, len - 3);
|
||||
return b;
|
||||
}
|
||||
|
||||
function countDown(iid: string, endTime: number): void {
|
||||
|
||||
const updateCountdown = () => {
|
||||
const now: number = Date.now();
|
||||
const distance: number = endTime - now;
|
||||
|
||||
if (distance > 0) {
|
||||
const [days, hours, minutes, seconds] = getTimeComponents(distance);
|
||||
displayCountdown(iid, days, hours, minutes, seconds);
|
||||
} else {
|
||||
clearInterval(timer);
|
||||
}
|
||||
};
|
||||
|
||||
// Initial update to avoid delay
|
||||
updateCountdown();
|
||||
|
||||
const timer: NodeJS.Timeout = setInterval(updateCountdown, 1000);
|
||||
}
|
||||
|
||||
function getTimeComponents(distance: number): [number, number, number, number] {
|
||||
const days: number = Math.floor(distance / (1000 * 60 * 60 * 24));
|
||||
const hours: number = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
||||
const minutes: number = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
|
||||
const seconds: number = Math.floor((distance % (1000 * 60)) / 1000);
|
||||
|
||||
return [days, hours, minutes, seconds];
|
||||
}
|
||||
|
||||
function displayCountdown(iid: string, days: number, hours: number, minutes: number, seconds: number): void {
|
||||
const element: HTMLElement | null = document.querySelector(`.${iid}`);
|
||||
if (element) {
|
||||
if (days > 0) {
|
||||
element.innerHTML = `
|
||||
<div class='item-time'><b>${formatTimeComponent(days)}</b></div>
|
||||
<div class='item-time'><b>${formatTimeComponent(hours)}</b></div>
|
||||
<div class='item-time'><b>${formatTimeComponent(minutes)}</b></div>
|
||||
<div class='item-time'><b>${formatTimeComponent(seconds)}</b></div>`;
|
||||
} else {
|
||||
element.innerHTML = `
|
||||
<div class='item-time'><b>${formatTimeComponent(hours)}</b></div>
|
||||
<div class='item-time'><b>${formatTimeComponent(minutes)}</b></div>
|
||||
<div class='item-time'><b>${formatTimeComponent(seconds)}</b></div>`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function formatTimeComponent(component: number): string {
|
||||
return component <= 9 ? '0' + component : component.toString();
|
||||
}
|
||||
|
||||
|
||||
hienthi_sp();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user