您好,登錄后才能下訂單哦!
本程序包含多個文件來講解,當然你也可以根據實際情況進行合并。
index.html(非必須):首頁顯示,時間設定,測試的時候可以直接在文件里指定時間。
gettime.php(主要文件1):實時倒計時狀態顯示
gettime2.php(主要文件2):gettime每1秒請求一次的文件,返回此刻請求得到的數據
源碼如下:
/** index.html **/ <!-- 下面的JS代碼是一個簡單的對輸入時間檢測的腳本,可以不要--> <form action="gettime.php" method="post"> 請輸入活動開始時間:<input id="hour" type="text" name="hour" size="2" />點<input id="min" type="text" name="min" size="2" />分<input id="sec" type="text" name="sec" size="2" />秒 <input type="submit" value="設定" /> </form> <script type="text/javascript"> window.onload=function(){ var hour = document.getElementById('hour'); hour.onblur=function(){ if(hour.value>23||hour.value<0){ alert('時間超出范圍'); return false; } } var min = document.getElementById('min'); min.onblur=function(){ if(min.value>59||min.value<0){ alert('時間超出范圍'); return false; } } var sec = document.getElementById('sec'); sec.onblur=function(){ if(sec.value>59||sec.value<0){ alert('時間超出范圍'); return false; } } } </script> /** gettime.php **/ <?php echo "設定的時間是:".$hour.":".$min.":".$sec.",活動還未開始,倒計時狀態中<br />"; } ?> /** ajax請求到的數據會存放在id='hh'的這個DIV里, 你也可以將返回的數據放在任何你想放的位置,只需要將它的id設置為與js里id相同即可。 注意這個腳本需要jQuery的支持(下載jq見文章結尾),所以請將jq文件引用到位。 **/ <div id="hh"></div> <script type="text/javascript" src="jquery-2.1.1.min.js"></script> <script type="text/javascript"> function gett(){ $(function(){ //接收index傳過來的時間參數,并用ajax傳遞給gettime2.php進行判斷 //測試的時候可以不需要index,直接在這里指定時間 var h='<?php echo $hour;?>'; var m='<?php echo $min;?>'; var s='<?php echo $sec;?>'; $.ajax({ url:'gettime2.php?h='+h+'&m='+m+'&s='+s, type:"POST", data:{action:"guesslike"}, dataType:"html", timeout:3000, cache:false, success:function(re){ $('#hh').html(re); } }) }); setTimeout("gett()",1000) } gett(); </script> /* gettime2.php 核心文件 */ <?php date_default_timezone_set("PRC"); //接收時間 $seth=$_REQUEST['h']; $seti=$_REQUEST['m']; $sets=$_REQUEST['s']; $time=time(); //echo '<br />當前時間是:'.date("H:i:s" ,$time); //判斷小時剩余>1 if($seth>date('H',$time)){ $h=$seth-date('H',$time); //判斷分鐘剩余>1 if($seti>date('i',$time)){ $i=$seti-date('i',$time); //判斷秒剩余>1 if($sets>date('s',$time)){ $s=$sets-date('s',$time); }else{ $s=$sets-date('s',$time)+59; $i=$i-1; } }else{ //分鐘剩余0 $i=$seti-date('i',$time)+59; $h=($h-1)>0?($h-1):0; //如果小時被借去1后等于0,則不用顯示小時了 if($sets>date('s',$time)){ $s=$sets-date('s',$time); }else{ $s=$sets-date('s',$time)+59; } } if($h!=0){ echo "<br />剩余時間還有:".$h."小時".$i."分".$s."秒"; }else{ echo "<br />剩余時間還有:".$i."分".$s."秒"; } }else{ //判斷小時剩余=0 $h=0; if($seti>date('i',$time)){ $i=$seti-date('i',$time); //判斷秒剩余>1 if($sets>date('s',$time)){ $s=$sets-date('s',$time); }else{ $s=$sets-date('s',$time)+59; $i=$i-1; } echo "<br />剩余時間還有:".$i."分".$s."秒"; }else{ //分鐘剩余0 if($sets<=date('s',$time)){ echo "活動已經開始了"; }else{ // $i=0; //分鐘為0,可以顯示,也可以不顯示,本程序不顯示 $s=$sets-date('s',$time); } if($s>=0){ echo "<br />剩余時間還有:".$s."秒"; }else return false; } } ?> ##########################END################################
以上3段源碼,復制過去,文件名對應,打開index就可以看到效果。
官方源jQuery2.1.1點此下載,各位也可以自行百度下載或者官方網站去下載。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。