تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[C#.NET] لدي مشكلة في اضافة count down timer لتطبيق online examination system
#1
السلام عليكم
انا اقوم بتصميم تطبيق online examination system  باستخدام c# ولدي مشكلة في صفحة اداء الامتحان وهي وضع count down timer
 وتتمتثل في عدم استطاعتي في ايقاف ال timer بعد انا اقول بعمل submit للاجابة وكذلك عند الانتقال للسوال الثالي او الرجوع للسؤال السابق باستخجدام مفاتحي next و back يبدأ ال timer  الاول .فأرجو من لديه الحل ان يساعدني . وشكرا
الرد }}}
تم الشكر بواسطة:
#2
عليكم السلام، لحل مشكلتك في إيقاف عداد الوقت عند الضغط على زر الإرسال، يمكنك استخدام دالة clearInterval() لإيقاف عداد الوقت. يمكنك حفظ الإشارة المُرجعية لعداد الوقت المستخدم في متغير وإرجاع قيمته من الدالة الزمنية التي تم إنشاؤها. وعند الضغط على زر الإرسال، يمكنك استدعاء الدالة clearInterval() مع المتغير الذي يحتوي على إشارة المرجعية لعداد الوقت المستخدم. بالنسبة للمشكلة الأخرى التي تتعلق بتشغيل العداد الزمني عند الانتقال إلى السؤال التالي أو السابق، يمكنك تحقيق ذلك عن طريق إنشاء دالة تفعيل الوقت الزمني setTime() التي تستدعيها عند الانتقال إلى كل سؤال والتي تبدأ بإعادة تشغيل الوقت الزمني. في هذه الحالة، يجب عليك تحديث الوقت الذي يتم عرضه في الوقت الحالي إلى الوقت المناسب للسؤال الجديد. هناك العديد من الحلول المتاحة لهذه المشكلة وهذه هي واحدة منها. أتمنى أن يساعدك هذا الحل، وإذا كان لديك أي أسئلة أو استفسارات أخرى فلا تتردد في السؤال.


نعم، هذا هو مثال بسيط يستخدم دالة setInterval() لإنشاء عداد زمني ودالة clearInterval() لإيقافه عند الضغط على زر الإرسال:

كود :
<script>
var timeLeft = 60; // تعيين الوقت الكلي للامتحان
var timerId = setInterval(countdown, 1000); // بدء العداد الزمني كل ثانية واحدة

function countdown() {
 if (timeLeft == 0) {
   clearTimeout(timerId); // ايقاف العداد الزمني عند الانتهاء من الوقت
   alert("انتهى الوقت!");
 } else {
   document.getElementById("timer").innerHTML = timeLeft + " ثانية متبقية";
   timeLeft--;
 }
}

function stopTimer() {
 clearTimeout(timerId); // إيقاف العداد الزمني عند الضغط على زر الإرسال
}
</script>

<div id="timer">60 ثانية متبقية</div>
<button onclick="stopTimer()">إرسال</button>


وبما أنك تريد تفعيل الوقت الزمني عند الانتقال إلى كل سؤال، يمكنك إنشاء دالة تسمى setTime() وتستدعيها عند الانتقال إلى كل سؤال. في هذه الحالة، يجب عليك تحديث الوقت الذي يتم عرضه في الوقت الحالي إلى الوقت المناسب للسؤال الجديد. أتمنى أن يساعدك هذا المثال. إذا كان لديك أي أسئلة أو استفسارات أخرى، فلا تتردد في السؤال.
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم