<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8" />
<title>New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="DAYU">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8" />
<title>New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="DAYU">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<?=date_default_timezone_set("Asia/Shanghai")?><!-- 这里会输出1先不管 -->
<?php
//3天后的时间
$d =strtotime('+3 days')
$threeday=date('Y-m-d H:i:s',$d)
?>
<script language="javascript">
function countdown(endtime, today)
{
//today = new Date()
//var testDate = new Date()
//today = new Date()
//target_time=new Date(endtime)
testDate = new Date()
today = testDate.format("yyyy-MM-dd hh:mm:ss")
target_time=endtime
//alert(target_time)
//timeold=(target_time.getTime()-today.getTime())
//alert(target_time)
//alert(today)return
//--------------------------------
timeold =DateDiff(target_time, today)
//alert(DateDiff(target_time, today))
//------------------------------
sectimeold=timeold/1000
secondsold=Math.floor(sectimeold)//走到这里好像就有问题了
msPerDay=24*60*60*1000
e_daysold=timeold/msPerDay
daysold=Math.floor(e_daysold)
e_hrsold=(e_daysold-daysold)*24
hrsold=Math.floor(e_hrsold)
e_minsold=(e_hrsold-hrsold)*60
minsold=Math.floor(e_minsold)
e_seconds=(e_minsold-minsold)*60
seconds=Math.floor(e_seconds)
e_millisecond=(e_seconds-seconds)*1000
millisecond=Math.floor(e_millisecond)
millisecond10=Math.floor(millisecond)
the_element = document.getElementById('counttime')
the_element.innerHTML="仅剩<br>"+daysold+"天"+hrsold+"小时"+minsold+"分"+seconds+"秒"
window.setTimeout("countdown('" + endtime + "', today)", 100)
}
</script>
<BODY>
<table><tr><td width="175"><SPAN id="counttime" style="FONT-WEIGHT: boldCOLOR: #000000FONT-FAMILY:Arial"></SPAN>
<script language="javascript">
/**
* 时间对象的格式化
*/
Date.prototype.format = function(format){
/*
* eg:format="yyyy-MM-dd hh:mm:ss"
*/
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(),//hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length))
}
for(var k in o) {
if(new RegExp("("+ k +")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length))
}
}
return format
}
//比较2个时间的差值
function DateDiff(dmEndDate, dmStartDate) {
dmEndDate = dmEndDate.replace(/-/g, "/")
dmEndDate = new Date(dmEndDate)
dmStartDate = dmStartDate.replace(/-/g, "/")
dmStartDate = new Date(dmStartDate)
var time = dmEndDate.getTime() - dmStartDate.getTime()
var iDays = parseInt(time / (1000 * 60 * 60 * 24))
return iDays
}
//*****************************************
// var endtime = "<?=date('Y-m-d H:i:s',time())?>"
//var testDate = new Date()
//var today = testDate.format("yyyy年MM月dd日hh小时mm分ss秒")
//var today = testDate.format("yyyy-MM-dd hh:mm:ss")
//var endtime = '6-2-2013 17:35:00'
//var endtime = "<?=date('Y-m-d H:i:s',time())?>"
var endtime = "<?=$threeday?>"
//alert(endtime)
//var today = new Date()
var testDate = new Date()
var today = testDate.format("yyyy-MM-dd hh:mm:ss")
// alert(today)
//countdown("<?=date('Y-m-d H:i:s',time())?>", today)
countdown("<?=$threeday?>", today)
</script></td></tr></table>
</BODY>
</HTML>
</body>
</html>
</body>
</html>
-------------------------------------------------------
页面保存为PHP文件去执行.
仅剩
0天0小时0分0秒//这个结果不对,应该是2天几分几秒才对
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<title>js实现倒计时60秒的简单代码(推荐)</title>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<input type="button" id="btn" value="免费获取验证码" onclick="settime(this)" />
<script type="text/javascript">
var countdown=60
function settime(val) {
if (countdown == 0) {
val.removeAttribute("disabled")
val.value="免费获取验证码"
countdown = 5
} else {
val.setAttribute("disabled", true)
val.value="重新发送(" + countdown + ")"
countdown--
setTimeout(function() {
settime(val)
},1000)
}
}
</script>
</body>
</html>
JavaScript简介
JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 课外书
如果 JavaScript 教程学习完毕,并且需要更深入地学习这门语言,《JavaScript 高级教程》绝对是您最好的选择。本教程从 JavaScript 的历史开始讲起,直到当前它对 XML 和 Web 服务的支持。
将学习到如何扩展该语言,以使它适应特殊的需求。
还将学到如何使用 JavaScript 创建无缝的客户机 - 服务器通信。
在接触到的项目中,有页面需要做倒计时的效果,原本以为很容易,做好之后就提交测试了,但是好巧不巧,测试人员手机屏幕在倒计时过程中熄灭,唤醒屏幕之后发现倒计时是接着黑屏时候的时间继续进行。
问题:手机屏幕熄灭之后,倒计时停止,手机屏幕亮起之后,倒计时接着之前的时间倒计时(即,黑屏这段时间倒计时没有减少)
解决方法:获取倒计时开始时间start_time,在调用countTime是获取一下当前时间end_time,两者的时间差即为休眠时间,使用倒计时总时间-时间差,即为新的倒计时时间
亲测有效,若有其他的好方法求告知