2012-07-04 31 views
0

我想告诉我有我的PHP变量使用JavaScript的帮助时显示动态时间使用javascript

我编码一个在线考试模块,在这里我想显示的总消耗时间

说,例如

$time_elapsed //包含拍摄至今从考试 的开始时间,如果我得到一个div说,

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

我怎么能显示动态的运行时间从$time_elapsed开始加载后的窗口,每个问题

请,如果你们有这个答案..

感谢

+0

应的时间只有页面的刷新或每秒就像一个钟之后更新?当你回答问题时,页面将被刷新? – WolvDev

+0

它应该是这样的;如果总时间为10.15(10分15秒)...它应该在每秒刷新后加载新问题10.16,10.17,10.18后显示在下一页中......是每页刷新后页面都会刷新 –

回答

1

嗨,你可以使用下面的代码目的

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; 
} 

新创建一个html div,您想要显示运行时间。

HTML:

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

给参数的期限。它会在时间结束后提醒。

,并得到时间的页面使用HTML5的sessionStorage的

访问 Html5 Storage Doc刷新后能得到更多的细节。使用这个你可以temporaryly /永久存储在本地的中间值,然后访问你的价值观 存储值会话

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

或存储值永久使用

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

所以,你可以存储(临时)形式使用html5存储对象的多个页面之间的数据

+0

我真的不明白为什么提供完整代码的人以任何方式提供帮助,它肯定不会帮助他们学习。他们甚至没有发布任何形式的尝试。至多我认为我们应该指出他们应该尝试什么,并让他们真正为自己尝试。 –

+0

你好,乔恩,我发布了这个问题。请不要这样说...如果我需要使用上面的代码来满足我的需要,那么我必须学习每一行,并且逻辑开始这些行,然后才能根据需要操作它。我认为,任何人在任何情况下都会有相同的经历,如果他们在适应他们的需求之前获得了一段代码作为示例......即使您在使用此完整代码之前不知道任何JS,也可能无法做任何事情。 –

0

你的PHP代码应该返回然而,在加载页面时所经过的时间,javascript会随着时间的推移而接管并增加时间。

+0

我的问题是如何实现它,而不是如何流应该是,...我知道什么时候PHP页面刷新变量time_elapsed将被发送到下一个问题页面,然后....如何把这个变量给JS和做其余的部分? –

+0

那么你有没有尝试过目前为止?我们不只是为你编写代码。至少告诉我们你已经为自己先试了一下。 –

0

您可以将参数发送到你的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 ?>) 
1

这是如何显示动态时间。要使用其他基于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>​ 
+0

我没有得到在time0 = <?php echo $ startTime;?>中给出的内容。你的意思是在开始考试后经过的微缩胶片 –

+0

能否请你对上述评论有一个答案 –

相关问题