English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
setTimeout()لإعداد جهازوقت، وسيتم استدعاء الدالة أو تنفيذ الكود المطلوب عند انتهاء الجهازوقت.
يستخدم هذا الدالة لتحديد معرف وقت الاستدعاء الفريد، لذا يمكنك في وقت لاحق استدعاءclearTimeout()لإزالتها.
استخدمclearTimeout()الطريقة لتقديم الدالة.
يؤدي هذا الدالة مرة واحدة فقط. إذا كنت بحاجة إلى تنفيذها مرة أخرى، استخدمsetInterval()الطريقة.
window.setTimeout(function, delay, param1, param2, ...)
setTimeout(function() { alert("Hello World"); }, 2000);اختبار شاهد‹/›
الرقم في الجدول يعين الإصدار الأول من المتصفح الذي يدعم الطريقة setTimeout() بشكل كامل:
الطريقة | |||||
setTimeout() | 1 | 1 | 4 | 1 | 4 |
الم参数 | شرح |
---|---|
وظيفة | (必需)计时器到期后要执行的函数 |
延迟 | (必需)计时器应等待的时间(以毫秒为单位)(1000毫秒= 1秒),然后执行指定的函数或代码。如果省略,则使用值0 |
param1, param2, ... | (可选)传递给该函数(function)的其他参数(IE9和更早版本中不支持) |
返回值: | 一个数字,表示设置的计时器的超时ID值。将此值与clearTimeout()方法一起使用可取消计时器 |
---|
此示例引用外部“命名”函数:
var timeoutID; function myFunc() { timeoutID = setTimeout(myCallback, 2000); } function myCallback() { alert("Hello World"); }اختبار شاهد‹/›
使用clearTimeout()阻止函数运行:
var timeoutID; function myFunc() { timeoutID = setTimeout(myCallback, 2000); } function myCallback() { alert("Hello World"); } function myStopFunc() { clearTimeout(timeoutID); }اختبار شاهد‹/›
使用递归显示当前时间(就像数字手表一样,每1秒钟执行一次“startTimer()”函数):
window.addEventListener("load", startTimer); function startTimer() { var date = new Date(); var x = document.getElementById("result"); x.innerHTML = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); setTimeout(startTimer, 1000); // Recursion }اختبار شاهد‹/›
使用setTimeout()创建动态进度条:
var i = 0; var bar = document.getElementById("progress-bar"); var t; function start() { if(i < 100) { i++; bar.style.width = i + "%"; bar.innerHTML = i + "%"; t = setTimeout(start, 60); // Recursion } } function stop() { clearTimeout(t); }اختبار شاهد‹/›
انقر على زر "بدء العد" أدناه لبدء التوقيت. انقر على زر "توقف عن العد" لتوقف العد:
تقديم المعلمات إلى دالة myFunc (لا تعمل في إصدارات IE9 والأقدم):
var timeoutID = setTimeout(myFunc, 2000, "First", "Second", "Third");اختبار شاهد‹/›
لكن، إذا كنت تستخدم الدالة الغير معروفة، فإنها ستشتغل في جميع المتصفحات:
var timeoutID = setTimeout(function(){ myFunc("First", "Second", "Third"); }, 2000);اختبار شاهد‹/›
مرجع Window (النافذة)طريقة clearTimeout()
مرجع Window (النافذة)طريقة setInterval()
مرجع Window (النافذة)طريقة clearInterval()