我设法出来了一个代码,可以使用基于用户的输入启动Javascript的动态倒计时。
1)但是当我尝试输入他来检查倒计时到期时,它的内部网不起作用......
2)是否可以将倒数计时器存储为具有唯一键的持久性cookie?因此,下次打开时,倒计时将基于唯一键。
我的检查时间功能
function checkTime() {
var time = document.getElementById('strclock').innerHTML;
if(time != '00:00:00') {
//execute some SQL statement
}elseif(time == '00:00:00'){
//execute some SQL statement
}
我的动态倒数计时器
<div id="strclock"></div>
<div id="clock"></div>
<script type="text/javascript">
var hour = <?php echo floor($hours); ?>;
var min = <?php echo floor($minutes); ?>;
var sec = <?php echo floor($seconds); ?>;
(函数checkTime()将插入此处)
function countdown() {
if(sec <= 0 && min > 0) {
sec = 60;
min -= 1;
}
else if(min <= 0 && sec <= 0) {
min = 0;
sec = 0;
}
else {
sec -= 1;
}
if(min <= 0 && hour > 0) {
min = 60;
hour -= 1;
}
var pat = /^[0-9]{1}$/;
secs = (pat.test(sec) == true) ? '0'+sec : sec;
mins = (pat.test(min) == true) ? '0'+min : min;
hours = (pat.test(hour) == true) ? '0'+hour : hour;
document.getElementById('strclock').innerHTML = hours+":"+mins+":"+secs;
if(hour >= 1) {
document.getElementById('clock').innerHTML = hour+1+' hour until timer runs out!';
}
else if(min >= 1) {
document.getElementById('clock').innerHTML = min+' minute until timer runs out!';
}
else {
document.getElementById('clock').innerHTML = sec+' seconds until timer runs out!';
}
setTimeout("countdown()",1000);
}
countdown();
</script>
答案 0 :(得分:0)
您的问题的解决方案如下。唯一不同的是内部函数我正在检查document.getElementById('strclock').innerHTML
,如果它等于00:00:00我正在提醒停止。代替警报,您可以调用您的功能。
这是一个有效的codepen链接
只需要为此添加
if(time == '00:00:00') {alert("stop")}
else{ setTimeout("countdown()",1000);}
添加此代码后,您的代码将正常运行。
<div id="strclock"></div>
<div id="clock"></div>
<script type="text/javascript">
var hour = <?php echo floor($hours); ?>;
var min = <?php echo floor($minutes); ?>;
var sec = <?php echo floor($seconds); ?>;
function countdown() {
if(sec <= 0 && min > 0) {
sec = 60;
min -= 1;
}
else if(min <= 0 && sec <= 0) {
min = 0;
sec = 0;
}
else {
sec -= 1;
}
if(min <= 0 && hour > 0) {
min = 60;
hour -= 1;
}
var pat = /^[0-9]{1}$/;
secs = (pat.test(sec) == true) ? '0'+sec : sec;
mins = (pat.test(min) == true) ? '0'+min : min;
hours = (pat.test(hour) == true) ? '0'+hour : hour;
document.getElementById('strclock').innerHTML = hours+":"+mins+":"+secs;
if(hour >= 1) {
document.getElementById('clock').innerHTML = hour+1+' hour until timer runs out!';
}
else if(min >= 1) {
document.getElementById('clock').innerHTML = min+' minute until timer runs out!';
}
else {
document.getElementById('clock').innerHTML = sec+' seconds until timer runs out!';
}
if(time == '00:00:00') {alert("stop")}
else{ setTimeout("countdown()",1000);}
}
countdown();
</script>