แนวคิดของการจับเวลาและความล่าช้า
//- ตัวจับเวลา
// หมายเลข ID ตัวจับเวลา setInterval (ฟังก์ชั่นการโทรกลับ, มิลลิวินาที);
// โทรหาฟังก์ชันการโทรกลับทุกมิลลิวินาที
// ClearInterval (หมายเลข ID ตัวจับเวลา)
// หยุดตัวจับเวลาด้วยหมายเลข ID ที่ระบุ (จริง ๆ แล้วทำลายและปล่อยทรัพยากร)
//-ผู้หน่วงเวลา
// ล่าช้าหมายเลขรหัส settimeout (ฟังก์ชั่นการโทรกลับ, ช่วงเวลามิลลิวินาที)
// เริ่มจากการโทรรอจำนวนมิลลิวินาทีที่ระบุและเรียกใช้ฟังก์ชันการโทรกลับหนึ่งครั้งสิ้นสุด
// ใช้ ClearTimeOut เพื่อล้างความล่าช้า
ภาพการทำซ้ำ:
รูปต่อไปนี้จะปรากฏขึ้นหลังจากเปิดหน้า: หลังจากนั้นจำนวนของค่าปุ่มจะลดลง 1 ทุก ๆ 1 วินาทีจนกระทั่ง 0 หยุดเนื้อหาปุ่มจะตกลง
รหัสการใช้งาน:
คัดลอกรหัสรหัสดังนี้:
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title> </title>
<style type = "text/css">
#BTN
-
ความกว้าง: 200px;
ความสูง: 50px;
พื้นหลัง -สี: แกรี่;
-
</style>
<script type = "text/javascript">
onload = function () {
// รับวัตถุปุ่ม
var btn = document.getElementById ('btn');
// สร้างตัวจับเวลาและส่งคืนรหัสจับเวลา
var intervalid = setInterval (ฟังก์ชัน () {
var waitsecond = parseint ((// d+/). exec (btn.value)); // ใช้วิธี regexp.exec () เพื่อส่งคืนเนื้อหาสตริงที่ตรงกัน
Waitsecond-; // time-
if (waitsecond> = 0) {// การตัดสิน
btn.value = btn.value.replace (// d+/, waitsecond) // ใช้ string.repleace (regexp, รหัส) วิธีการแทนที่หมายเลขในค่าปุ่มและส่งคืนผลลัพธ์การแทนที่
} อื่น {
btn.value = 'เห็นด้วย'; // เปลี่ยนค่าปุ่มเป็นตกลง
btn.disabled = false; // เปลี่ยนค่าปิดใช้งานของปุ่มเป็น false
ClearInterval (Intervalid); // ล้างตัวจับเวลา
-
}, 1,000);
-
</script>
</head>
<body>
<input type = "button" name = "name" value = "โปรดอ่านอย่างระมัดระวังเป็นเวลา 5 วินาทีและคลิกเพื่อตกลงที่จะดำเนินการต่อ" id = "btn" disabled = "ปิดใช้งาน"/>
</body>
</html>