我想在 Javascript 的帮助下显示我的 php 变量中的时间
我正在编写一个在线考试模块,我想在其中显示总经过时间
例如说
$time_elapsed
// 包含从考试开始到现在所用的时间如果我有一个 div 说,
<div id="time"></div>
如何从$time_elapsed
加载每个问题的窗口后开始显示动态运行时间
请问各位大佬有这个答案吗。。
谢谢
我想在 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 创建一个要显示运行时间的 html div。
html:
<div id='timer' />
<script type="text/javascript">window.onload = CreateTimer("timer", 5);</script>
给参数时间限制。它会在时间结束后发出警报。
并在刷新页面后获取时间使用 html5 的 sessionStorage
访问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 ?>)