1. مؤقت يتم تنفيذه مرة واحدة فقط
انسخ رمز الكود كما يلي:
<النص البرمجي>
// يعمل الموقت بشكل غير متزامن
وظيفة مرحبا () {
تنبيه("مرحبا");
}
// تنفيذ الطريقة باستخدام اسم الطريقة
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout("hello()",3000);// استخدم طريقة تنفيذ السلسلة
window.clearTimeout(t1);// قم بإزالة المؤقت
</script>
2. مؤقت التنفيذ المتكرر
انسخ رمز الكود كما يلي:
<النص البرمجي>
وظيفة مرحبا () {
تنبيه("مرحبا");
}
// كرر الطريقة
var t1 = window.setInterval(hello,1000);
var t2 = window.setInterval("hello()",3000);
// كيفية إزالة المؤقت
window.clearInterval(t1);
</script>
ملاحظة:
إذا كانت هناك طريقتان على الصفحة، ويتم تنفيذ كليهما بعد تحميل الصفحة، ولكن في الواقع لا يمكن تنفيذهما بالترتيب، فيمكنك الرجوع إلى الطرق التالية لحل المشكلة:
يمكنك إضافة مؤقت في طريقة التحميل، وتعيين مؤقت، و"تأخيره" لفترة من الوقت قبل تشغيله، ويمكن اعتبار ذلك لتمييز ترتيب تحميل الصفحة وتشغيلها.
في JavaScript، هناك وظيفتان مخصصتان للمؤقتات، وهما:
1. مؤقت العد التنازلي: timename=setTimeout("function();",delaytime);
2. مؤقت الحلقة: timename=setInterval("function();",delaytime);
المعلمة الأولى "function()" هي الإجراء الذي سيتم تنفيذه عند تشغيل المؤقت، ويمكن أن تكون وظيفة واحدة أو عدة وظائف يمكن فصلها بواسطة "؛". على سبيل المثال، إذا كنت تريد ظهور نافذتين تحذيريتين، فيمكنك استبدال "function();" بـ
"alert('نافذة التحذير الأول!');alert('نافذة التحذير الثانية!');"; والمعلمة الثانية "وقت التأخير" هي الفاصل الزمني بالمللي ثانية، أي ملء "5000" يعني 5 ثوانٍ.
يقوم مؤقت العد التنازلي بتشغيل حدث بعد الوصول إلى الوقت المحدد، بينما يقوم مؤقت الحلقة بتشغيل الحدث بشكل متكرر عند وصول الفاصل الزمني. الفرق بين الاثنين هو أن الأول يعمل مرة واحدة فقط، بينما يعمل الأخير بشكل مستمر.
على سبيل المثال، بعد أن تفتح صفحة وتريد الانتقال تلقائيًا إلى صفحة أخرى كل بضع ثوانٍ، تحتاج إلى استخدام مؤقت العد التنازلي "setTimeout("function();",delaytime)"، وإذا كنت تريد تعيين جملة معينة تظهر واحدة تلو الأخرى،
تحتاج إلى استخدام مؤقت الحلقة "setInterval("function();",delaytime)".
للحصول على تركيز النموذج، يتم استخدام document.activeElement.id. استخدم if لتحديد ما إذا كان document.activeElement.id ومعرف النموذج متماثلين.
على سبيل المثال: إذا ("mid" == document.activeElement.id) {alert();}، فإن "mid" هو المعرف المطابق للنموذج.
الموقت:
يستخدم لتحديد برنامج ليتم تنفيذه بعد فترة زمنية محددة.
توقيت التنفيذ في JS، الفرق بين setTimeout وsetInterval، وطريقة الإلغاء
setTimeout(Expression,DelayTime)، بعد DelayTime، سيتم تنفيذ التعبير setTimeout للتأخير لفترة من الوقت قبل تنفيذ العملية.
setTimeout("function"،time) يعين كائن المهلة
setInterval(expression, DelayTime)، سيقوم كل DelayTime بتنفيذ التعبير ويمكن استخدامه غالبًا لتحديث التعبيرات.
setInterval ("function"، time) يعين كائن المهلة
يتكرر SetInterval تلقائيًا، ولا يتكرر setTimeout.
يقوم ClearTimeout(object) بمسح كائن setTimeout المحدد
يقوم ClearInterval(object) بمسح كائن setInterval
فقط أعط مثالين.
مثال 1. عند تشغيل النموذج أو تحميله، قم بإخراج السلسلة حرفيًا
انسخ رمز الكود كما يلي:
<أتش تي أم أل>
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>مستند بدون عنوان</title>
<script language="JavaScript" type="text/javascript">
var str = "هذا نص نموذجي للاختبار";
فار تسلسل = 0؛
var Second=1000; // الفاصل الزمني 1 ثانية
تمرير الوظيفة () {
msg = str.substring(0, seq+1);
document.getElementByIdx_x_x('word').innerHTML = msg;
seq++;
إذا (seq >= str. length) seq = 0;
}
</script>
</الرأس>
<body onload="setInterval('scroll()', Second)">
<div id="word"></div><br/><br/>
</الجسم>
</html>
مثال 2. عندما يكون التركيز على مربع الإدخال، تحقق من معلومات مربع الإدخال بانتظام، ولا تقم بتنفيذ إجراء الفحص عندما لا يكون التركيز قيد التشغيل.
انسخ رمز الكود كما يلي:
<!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">
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>مستند بدون عنوان</title>
<script language="JavaScript" type="text/javascript">
var Second=5000; // الفاصل الزمني 5 ثواني
فار ج=0;
تمرير الوظيفة () {
ج++;
إذا ("ب" == document.activeElement.id) {
var str="الفحص المجدول<b> "+c+" </b>الوقت<br/>";
إذا (document.getElementByIdx_x_x('b').value!=""){
str+="المحتوى الحالي لمربع الإدخال هو<br/><b> "+document.getElementByIdx_x_x('b').value+"</b>";
}
document.getElementByIdx_x_x('word').innerHTML = str;
}
}
</script>
</الرأس>
<الجسم>
<textarea id = "b" name = "b" style = "height:100px؛ width:300px;" onfocus="setInterval('scroll()', Second)"></textarea><br/><br/ >
<div id="word"></div><br/><br/>
</الجسم>
</html>
المثال 3. ما يلي هو أبسط مثال على ظهور نافذة تحذير بعد انتهاء صلاحية المؤقت.
انسخ رمز الكود كما يلي:
<html xmlns="http://www.w3.org/1999/xhtml">
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<لغة البرمجة = "جافا سكريبت">
عدد الوظائف () {
document.getElementByIdx_x_x('m').innerHTML="لقد بدأ الموقت!";
setTimeout("تنبيه('عشر ثوانٍ!')"،10000)
}
</script>
<الجسم>
<div معرف = "م"></div>
<input TYPE = "button" value = "يبدأ المؤقت" عند النقر = "count ()">
</الجسم>
</html>
مثال 4: قفزة وقت العد التنازلي
انسخ رمز الكود كما يلي:
<أتش تي أم أل>
<الرأس>
<base href="<%=basePath%>">
<title>صفحة البداية لـ JSP 'ds04.jsp'</title>
<span id="tiao">3</span>
<a href="javascript:countDown"> </a> القفز تلقائيًا بعد ثوانٍ...
<meta http-equiv=refresh content=3;url= '/ds02.jsp'/>
<!--يبدأ البرنامج النصي-->
<لغة سكريبت = "جافا سكريبت" نوع = "">
وظيفة العد التنازلي (ثواني) {
tiao.innerText=secs;
إذا (--ثواني>0)
setTimeout("countDown("+secs+")),1000);
}
العد التنازلي(3);
</script>
<!--نهاية النص-->
</الرأس>
مثال 6:
انسخ رمز الكود كما يلي:
<الرأس>
<meta http-equiv="refresh" content="2;url='b.html'">
</الرأس>
مثال 7:
انسخ رمز الكود كما يلي:
<script language="javascript" type="text/javascript">
setTimeout("window.location.href='b.html'", 2000);
// يمكن استخدام كلا الأمرين التاليين
//setTimeout("javascript:location.href='b.html'"، 2000);
//setTimeout("window.location='b.html'"، 2000);
</script>
مثال 8:
انسخ رمز الكود كما يلي:
<span id="totalSecond">2</span>
<script language="javascript" type="text/javascript">
var Second = document.getElementByIdx_x('totalSecond').innerHTML;
إذا (isNaN(الثانية)){
//... ليست طريقة معالجة رقمية
}آخر{
setInterval(وظيفة(){
document.getElementByIdx_x('totalSecond').innerHTML = --ثانية;
إذا (الثانية <= 0) {
window.location = 'b.html';
}
}, 1000);
}
</script>