ตัวนับเวลาถอยหลังถูกใช้ทั่วอินเทอร์เน็ตโดยผู้ที่ต้องการนับถอยหลังสู่งานสำคัญ
คุณสามารถใช้ตัวนับเวลาถอยหลังเพื่อนับถอยหลังสู่การเปิดตัวเว็บไซต์ใหม่ของคุณ นาฬิกาจับเวลาถอยหลังสามารถทำเครื่องหมายเมื่อคุณกำลังจะประกาศผลิตภัณฑ์ มีความเป็นไปได้มากมายให้คุณสำรวจ
ในคู่มือนี้ เราจะแสดงวิธีสร้างตัวจับเวลาถอยหลังใน JavaScript โดยใช้เทคโนโลยีสามอย่าง:HTML, CSS และ JavaScript เริ่มกันเลย!
การตั้งค่าหน้าเว็บของเรา
ขั้นตอนแรกคือการตั้งค่าหน้าเว็บพื้นฐานของเรา ในคู่มือนี้ เราจะไม่ต้องกังวลกับการใช้ไลบรารีภายนอกใดๆ เราจะทำให้มันเรียบง่ายและใช้ HTML, CSS และ JavaScript แบบเก่าธรรมดา
เริ่มต้นด้วยการสร้างไฟล์ HTML ของเรา:
<!DOCTYPE html> <html> <script> // We'll store our JavaScript code here </script> <style> // We'll write our CSS styles here </style> <body> <h1>It's almost time…</h1> <div id="timer"></div> </body> </html>
รหัสของเราไม่ได้ส่งคืนสิ่งใดเป็นพิเศษในขณะนี้ ดูด้านล่าง:
ปรากฏในลักษณะนี้เนื่องจากเรายังไม่ได้เพิ่มสไตล์ใด ๆ ให้กับโค้ดของเราหรือสร้างตัวจับเวลา JavaScript ของเรา ไปที่การสร้าง JavaScript ที่จะขับเคลื่อนตัวจับเวลาของเรา
การสร้างตัวจับเวลาของเรา
JavaScript มีวัตถุที่มีประโยชน์ที่เรียกว่า Date ซึ่งเราสามารถใช้เพื่อทำงานกับวันที่และเวลา เราจะใช้วัตถุนี้เพื่อจุดประสงค์สองประการ:เพื่อรับการประทับเวลาของเวลาที่เราต้องการนับถอยหลัง และรับวันที่ปัจจุบัน
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
ในบทช่วยสอนนี้ เราจะเขียนสคริปต์ทั้งหมดของเราในแท็ก เราจะไม่ใช้สคริปต์ภายนอกใดๆ
การลบวันที่ที่เรากำลังนับถอยหลังจากวันที่ปัจจุบันจะทำให้เรามีความแตกต่างระหว่างสองวันที่นี้:
var timeLeft = +new Date("2021-05-04") - +new Date();
รหัสนี้จะคำนวณจำนวนวันที่เหลือจนถึงวัน Star Wars ถัดไป ซึ่งก็คือวันที่ 4 พฤษภาคม 2021
ในขณะที่เราทราบความแตกต่างระหว่างสองวันนี้ก็มีปัญหาเล็กน้อย อันดับแรก เรายังไม่มีตัวจับเวลาที่นับถอยหลัง ประการที่สอง วันที่ของเราไม่ได้จัดเก็บในรูปแบบที่มนุษย์อ่านได้ง่าย มันถูกเก็บไว้เป็นมิลลิวินาที ซึ่งไม่สะดวกสำหรับเราอย่างแน่นอน เราจำเป็นต้องแปลงเวลาเป็นวัน ชั่วโมง และนาที
ในการคำนวณเวลาที่เหลืออยู่ในรูปแบบที่อ่านง่ายขึ้น เราจะใช้รหัสต่อไปนี้:
var daysLeft = Math.floor(timeLeft / (1000 * 60 * 60 * 24)); var hoursLeft = Math.floor((timeLeft / (1000 * 60 * 60)) % 24); var minutesLeft = Math.floor((timeLeft / 1000) / 60 % 60);
เราสามารถจัดรูปแบบค่าเป็นสตริงโดยใช้รหัสนี้:
const timeLeftText = `${daysLeft} days ${hoursLeft} hours ${minutesLeft} minutes.`;
ในรหัสนี้ เราใช้การแก้ไขสตริงเพื่อแทนที่ค่าที่เราคำนวณไว้ก่อนหน้านี้ ซึ่งจะให้การประทับเวลาแก่เรา เช่น 314 วัน 13 ชั่วโมง 52 นาที
ตอนนี้เราได้สร้างการประทับเวลาแล้ว เราสามารถวางบนหน้าเว็บของเรา:
document.getElementById("timer").innerHTML = timeLeftText;
เราสามารถย้ายโค้ดทั้งหมดของเราไปเป็นฟังก์ชัน:
function countdown() { var daysLeft = Math.floor(timeLeft / (1000 * 60 * 60 * 24)); var hoursLeft = Math.floor((timeLeft / (1000 * 60 * 60)) % 24); var minutesLeft = Math.floor((timeLeft / 1000) / 60 % 60); const timeLeftText = `${daysLeft} days ${hoursLeft} hours ${minutesLeft} minutes.`; document.getElementById("timer").innerHTML = timeLeftText; } countdown();
เมื่อเราโหลดหน้าของเรา สิ่งต่อไปนี้จะถูกส่งกลับ:
ตอนนี้เรามีตัวจับเวลาแล้ว เราเสร็จแล้วสำหรับวันนี้ใช่ไหม ไม่; ไม่เร็วนัก หากคุณรอสักครู่ คุณจะเห็นตัวจับเวลาของเราไม่นับถอยหลัง นั่นเป็นเพราะเราต้องบอกให้เบราว์เซอร์ของเราอัปเดตทุกนาที เราทำโดยใช้รหัสนี้:
setInterval(countdown, 60000);
ควรเพิ่มรหัสนี้หลังจากประกาศฟังก์ชัน countdown() ของเราแล้ว การดำเนินการนี้จะรีเฟรชหน้าเว็บของเราทุกๆ 60,000 มิลลิวินาที ซึ่งเทียบเท่ากับทุกๆ 60 วินาที
ตอนนี้เมื่อเราอัปเดตรหัสของเรา คุณจะเห็นว่ามันเปลี่ยนแปลงทุกนาที!
เพิ่มสไตล์บางส่วน
นาฬิกาจับเวลาถอยหลังของเราอาจใช้งานได้ แต่ก็ไม่ได้สวยงามตามต้องการ มาสร้างสไตล์สองสามแบบเพื่อทำให้หน้าของเราน่าสนใจยิ่งขึ้น:
<style> body { padding-top: 20%; height: 100vh; background: linear-gradient(to bottom right, #CAA89C, #434EFC); } h1, p { text-align: center; color: white; } </style>
หน้าเว็บของเราตอนนี้มีลักษณะดังนี้:
อย่างที่คุณเห็น หน้าของเราตอนนี้มีพื้นหลังแบบไล่ระดับ ข้อความของเราถูกจัดชิดตรงกลางและข้อความของเราจะปรากฏเป็นสีขาว ดูดีมาก!
บทสรุป
ตัวนับเวลาถอยหลังเป็นคุณลักษณะที่สำคัญของหลายๆ ไซต์ คุณจะเห็นการนับถอยหลังทั้งบนหน้าเว็บส่วนตัวและหน้าเว็บแบบมืออาชีพ บล็อกของบุคคลอาจมีการนับถอยหลังสู่งานแต่งงานของพวกเขา เว็บไซต์ของบริษัทอาจมีการนับถอยหลังสู่การเปิดตัวผลิตภัณฑ์
ตอนนี้คุณพร้อมที่จะสร้างตัวนับเวลาถอยหลัง JavaScript ของคุณเองอย่างผู้เชี่ยวชาญแล้ว!