本文目錄一覽:
php循環倒計時的代碼
這個可能要配合子框架和JS的功能來實現.
思路是:
1. 在主框架頁面上,安排一個表單 + 一個文本框(設變量名為 end_time),用來設置時間(target 指向子框)(日期格式: 2009-05-28 12:00:00 )
2. 再插入一個對象用來顯示剩餘時間(可以是文本框,也可以是span標記,還可以是其它可以用JS替換內容的對象就可以了)(假設它的標記是span id=”timeout”/span).
3. 在主框架上插入一子框架,子框架的源文件指向php文件
4. 在PHP源文件中插入適當代碼.代碼的作用主要分幾部分,
A.計算剩餘時間
B.用於更新主頁面的剩餘時間對象的JS代碼.
C.適當設置頁面刷新的時間(用JS或刷頁刷新代碼)
部分代碼:
1.主框架(index.php)
form action=”timer.php” method=”post” name=”form1″ target=”timerframe” id=”form1″
table border=”0″
tr
td開始時間
label/label/td
tdinput name=”end_time” type=”text” id=”end_time” value=”?php echo date(“Y-m-d H:i:s”);?” //td
tdlabel
input type=”submit” name=”Submit” value=”提交” /
/label/td
/tr
/table
table width=”400″ border=”0″
tr
td /td
/tr
tr
td離結束還有:span class=”STYLE1″ id=”timeout”aaaaa/span/td
/tr
/table
/form
iframe name=”timerframe” width=”1″ height=”1″/iframe
2.子框架(timer.php)
body
?php
$endTime=strtotime($_REQUEST[‘end_time’]); //將終止時間轉為nix_timestamp格式
$now=time(); //當前時間
//printf( “N:%s,\nbrE:%s\nbr”,$now,$endTime);
if($now=$endTime) //如果時間已過結束時間
{
?
script language=”javascript”
var f=parent.document.getElementById(“form1”)
f.end_time.value=’?php echo date(“Y-m-d H:i:s”,$endTime+2*3600);?’
f.submit()
/script
?php
exit;
}
$timeLeft=$endTime-$now; //計算剩餘的秒數,並轉換為對應的 時:分:秒 的格式
?
script language=”javascript”
parent.document.getElementById(“timeout”).innerHTML=’?php echo date(“H:i:s”,$timeLeft-8*3600);?’
function refresh()
{
var f=parent.document.getElementById(“form1”)
f.submit();
}
setTimeout(“refresh()”,5000)
/script
/body
電影商城待上映倒計時用PHP怎麼做
要求:
1) 要有小時分鐘秒的實時倒計時的顯示
2)用戶端修改日期時間不會影響到倒計時的正常顯示(也就是以服務器時間為準)
其實這和很多的考試等系統的時間限制功能同樣的要求.
解決思路:
1)總不能用ajax每秒都獲取服務器時間吧.
所以實時倒計時一定要用javascript實現.這很簡單.網上一大把的例子.
2)現在問題是解決用戶端修改日期時間對我們的顯示的影響.
解決的辦法是計算出用戶端的時間和服務器的時間差.這樣問題的完成解決了.
這樣只需要運行一次php.實時倒計時的時間就和服務器的時間同步了.
如何用PHP做一個循環的倒計時牌
?php
$StartDate = ’06-07′; //開始日期
$OverDate = ’06-08′; //結束日期
date_default_timezone_set(‘Etc/GMT-8’); //設置時區
$time = time();
$datetime = strtotime(date(‘Y-m-d’, $time)); // 取得今天凌晨的時間
$year = date(‘Y’, $time);
$OverTime = strtotime(“$year-$OverDate”); // 取得結束的時間
if($OverTime $datetime){ // 判斷有沒有過了結束日期 如 8 號,若過了,則開始明年的倒計時
$year++;
$OverTime = strtotime(“$year-$OverDate”);
}
$StartTime = strtotime(“$year-$StartDate”);
$n = $StartTime – $time; //計算相差的時間(秒)
if($n = 0){ // 若是負數 則已經開始了
$n = abs($n) + 86400; // 若是要精確到 時 分 秒 則把這行去了
$str = “高考已經開始 第 %d 天”; //格式 輸出
} else {
$str = “距 $year 年高考還有: %d 天 %d 小時 %d 分 %d 秒”;
}
//下面的 $day, $hour, $min, $sec 若是已經開始則表示開的已過的時間,否則則是相差的時間
$day = intval($n / 86400);
$hour = intval(($n % 86400) / 3600);
$min = intval(($n %3600) / 60);
$sec = $n % 60;
printf($str, $day, $hour, $min, $sec);
?
php中怎樣實現倒計時功能
可以考慮asp實現:
1.HiddenField 控件儲存時間
!–2700秒時間–
asp:HiddenField ID=”hidTime” runat=”server” Value=”2700″ /
2.js代碼
script language=”javascript” type=”text/javascript”
var time;
var minutes;
var seconds;
var str;
function ShowTime2() {
if(document.getElementById(“btnSubmitExam”) !=null)
{
time = document.getElementById(“hidTime”).value;
time = time – 1;
document.getElementById(“hidTime”).value = time;
minutes = parseInt(time / 60);
seconds = time % 60;
document.getElementById(“DjTimeDiv”).innerHTML = “剩餘時間:” + minutes + “分鐘” + seconds + “秒”;
if (time == 1) {
document.getElementById(“DjTimeDiv”).innerHTML=”剩餘時間:0分鐘0秒”;
document.getElementById (“btnSubmitExam”).click();
// window.close();
}else
{
setTimeout(“ShowTime2()”, 1000);
}
}else
{
document.getElementById(“DjTimeDiv”).innerHTML=”剩餘時間:0分鐘0秒”;
}
}
/script
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/183528.html