2012-07-04 34 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

能否請你對上述評論有一個答案 –

相關問題