0

Javascriptの助けを借りてphp変数にある時間を表示したい

合計経過時間を表示したいオンライン試験モジュールをコーディングしています

たとえば

$time_elapsed// 試験の開始から現在までにかかった時間が含まれています。

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

$time_elapsed各質問のウィンドウをロードした後から動的な実行時間を表示するにはどうすればよいですか

これに対する答えがあればお願いします..

ありがとう

4

4 に答える 4

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

nwは、実行時間を表示するhtmldivを作成します。

HTML:

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

パラメータに制限時間を与えます。時間が終了するとアラートが表示されます。

ページの更新後に時間を取得するには、html5のsessionStorageを使用します

詳細については、 Html5StorageDocにアクセスしてください。これを使用すると、中間値を一時的/永続的にローカルに保存し、セッションの値を保存するために値にアクセスできます。

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

またはを使用して値を永続的に保存します

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

したがって、html5ストレージオブジェクトを使用して、複数のページ間でフォームデータを(一時的に)保存できます

于 2012-07-04T10:00:00.800 に答える
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>​
于 2012-07-04T10:31:49.150 に答える
0

PHPコードは、ページを読み込んだ時点で経過した時間を返す必要がありますが、JavaScriptが引き継ぎ、時間の経過とともにその時間をインクリメントします。

于 2012-07-04T09:48:28.560 に答える
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 ?>)
于 2012-07-04T09:59:14.530 に答える