前后端配合实现考试剩余时间:
HTML布局
考试剩余时间:
<span id="hour">00</span>小时<span id="minute">00</span>分<span id="second">00</span>秒
JS脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function dealData(id,value){ var place = document.getElementById(id); place.innerHTML = value; } window.setInterval( function (){ // 每秒从服务器取一次数据 var ajax = new Ajax(); ajax.get( "remain_time.php?a=" +Math.random(), function (data){ eval( "var dtime = " +data); dealData( 'hour' ,dtime.hour); dealData( 'minute' ,dtime.minute); dealData( 'second' ,dtime.second); }); },1000); |
PHP代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
date_default_timezone_set( 'PRC' ); $start_time = '09:00:00' ; $end_time = '18:00:00' ; $start_famate_time = strtotime ( $start_time ); //开始时间转化为时间戳 $end_famate_time = strtotime ( $end_time ); //结束时间转化为时间戳 $now_time = time(); if ( $end_famate_time < $now_time || $start_time > $now_time ){ echo '当前不在考试的时间范围内!' ; exit ; } $remain_time = $end_famate_time - $now_time ; //剩余的秒数 $remain_hour = floor ( $remain_time /(60*60)); //剩余的小时 $remain_minute = floor (( $remain_time - $remain_hour *60*60)/60); //剩余的分钟数 $remain_second = ( $remain_time - $remain_hour *60*60 - $remain_minute *60); //剩余的秒数 echo json_encode( array ( 'hour' => $remain_hour , 'minute' => $remain_minute , 'second' => $remain_second )); |