परीक्षण चलाने से पहले आपको सर्वर साइड पर सटीक परीक्षण समाप्ति समय की गणना करने और इसे सत्र में सहेजने की आवश्यकता है:
<?php
if (empty($_SESSION['test_will_end_by'])) {
$_SESSION['test_will_end_by'] = time() + $test_duration_in_seconds;
}
?>
फिर, यदि आप इसे HTML से अपनी क्लाइंट-साइड स्क्रिप्ट को प्रदान करते हैं:
Time left:
<span class="timer" data-end="<?php
echo date(DateTime::RFC1123, $_SESSION['test_will_end_by']);
?>"></span>
किसी पेज पर सभी टाइमर शुरू करने के लिए इस कोड को अपने jQuery DOM-रेडी हैंडलर में जोड़ें:
$('.timer').each(function() {
var target = new Date($(this).data('end')), update, $this = $(this);
(update = function () {
var now = new Date();
$this.text((new Date(target - now)).toUTCString().split(' ')[4]);
if (Math.floor((target - now)/1000) == 0) return; // timer stops
setTimeout(update, 1000);
})();
});