使用 JavaScript 显示动态时间


show dynamic time with javascript

我想在Javascript的帮助下显示我的php变量中的时间

我正在编写一个在线考试模块,我想在其中显示总运行时间

比如说

$time_elapsed//包含从考试开始到现在所花费的时间如果我有一个div说,

<div id="time"></div> 

如何显示动态运行时间,从$time_elapsed加载每个问题的窗口后

开始

如果你们对此有答案,请.

谢谢

嗨,

您可以使用以下代码来实现目的

JavaScript将是:

var Timer;
var TotalSeconds,TotalMins, secs;
var elapsedtime ;
function CreateTimer(TimerID, Time) {
        Timer = document.getElementById(TimerID);
        TotalSeconds = Time;
        elapsedtime = 0
        time = Time
        secs = TotalSeconds%60;
        TotalMins = Math.floor(TotalSeconds/60)
        UpdateTimer()
        window.setTimeout("Tick()", 1000);
}
function Tick() {
if(TotalSeconds-elapsedtime>0)
{
    elapsedtime += 1;
    secs = (elapsedtime%60)-60;
    TotalMins = Math.floor(elapsedtime/60)
    UpdateTimer()
    window.setTimeout("Tick()", 1000);
}
else
alert("time up")
}
function UpdateTimer() {
        Timer.innerHTML = TotalMins + ":" + secs;
}

NW 创建一个要显示运行时间的 HTMLdiv。

目录:

<div id='timer' />
<script type="text/javascript">window.onload = CreateTimer("timer", 5);</script>

为参数指定时间限制。它将在时间结束后发出警报。

并在刷新页面后获得时间,请使用 html5 的会话存储

访问 Html5 存储文档以获取更多详细信息。 使用它,您可以在本地临时/永久存储中间值,然后访问您的值用于存储会话的值

sessionStorage.getItem('label')
sessionStorage.setItem('value', 'label')

或永久存储值

localStorage.getItem('label')
localStorage.setItem('value', 'label')

因此,您可以使用html5存储对象在多个页面之间存储(临时)表单数据

这是显示动态时间的方法。要使用其他基于 php 的开始时间,请将行time0 = new Date();替换为time0 =<?php echo $startTime;?>; which should be in ms since the epoch.

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>elapsed time demo</title>
    <script type="text/javascript">
        var time0;
        function initTime() {
            time0 = new Date();
            window.setInterval("updateTime()", 1000);
        }
        function updateTime() {
            var timeNow = new Date();
            var deltas = (Number(timeNow) - Number(time0))/1000;
            var deltah = ("0"+String(Math.round(deltas / 3600))).substr(-2);
            deltah = deltah.substr(-2);
            deltas %= 3600;
            var deltam = ("0"+String(Math.round(deltas / 60))).substr(-2);
            deltas = ("0"+String(Math.round(deltas % 60))).substr(-2);
            document.getElementById("timedisplay").firstChild.data=deltah+":"+deltam+":"+deltas;
        }
    </script>
</head>
<body onload="initTime();">
    <div> elapsed time <span id="timedisplay">00:00:00</span></div>
</body>
</html>​

您的 php 代码应该返回加载页面时经过的时间,但是,javascript 将接管并随着时间的推移增加该时间。

您可以将参数发送到 JavaScript 函数,即显示时间

      function display_time(int time)
      {
        //your code for further integration
      }

您可以使用以下方式将参数发送到 JavaScript 函数

      //call the function at the time display time
       display_time(<?php echo $time_elapsed ?>)