如何在javascript中使用一个按钮恢复和暂停计时器?
我想创建一个计时器暂停和恢复在一个按钮在JavaScript。。。 计时器工作正常。如果是两个不同的按钮,暂停和恢复工作正常。但如果我们做成单键恢复,则不会发生。需要帮助 JavaScript:如何在javascript中使用一个按钮恢复和暂停计时器?,javascript,html,Javascript,Html,我想创建一个计时器暂停和恢复在一个按钮在JavaScript。。。 计时器工作正常。如果是两个不同的按钮,暂停和恢复工作正常。但如果我们做成单键恢复,则不会发生。需要帮助 JavaScript: paused = false; // set minutes var mins = 30; // calculate the seconds var secs = mins * 60; var t = 0; function countdown() { t = setTimeout('D
paused = false;
// set minutes
var mins = 30;
// calculate the seconds
var secs = mins * 60;
var t = 0;
function countdown() {
t = setTimeout('Decrement()', 1000);
}
function Decrement() {
if (document.getElementById) {
minutes = document.getElementById("minutes");
seconds = document.getElementById("seconds");
// if less than a minute remaining
if (seconds < 59) {
seconds.value = secs;
} else {
minutes.value = getminutes();
seconds.value = getseconds();
}
secs--;
t = setTimeout('Decrement()', 1000);
}
}
function getminutes() {
// minutes is seconds divided by 60, rounded down
mins = Math.floor(secs / 60);
return mins;
}
function getseconds() {
// take mins remaining (as seconds) away from total seconds remaining
return secs - Math.round(mins * 60);
}
function pause() {
clearTimeout(t);
document.getElementById('Pause').value = "Resume";
document.getElementById("Pause").onclick = resume();
}
function resume() {
t = setTimeout();
}
paused=false;
//设定分钟数
var mins=30;
//计算秒数
var secs=分钟*60;
var t=0;
函数倒计时(){
t=设置超时('Decrement()',1000);
}
函数减量(){
if(document.getElementById){
分钟=document.getElementById(“分钟”);
秒=document.getElementById(“秒”);
//如果剩下不到一分钟
如果(秒<59){
秒。值=秒;
}否则{
minutes.value=getminutes();
seconds.value=getseconds();
}
秒--;
t=设置超时('Decrement()',1000);
}
}
函数getminutes(){
//分是秒除以60,四舍五入
分钟=数学楼层(秒/60);
返回分钟;
}
函数getseconds(){
//从总剩余秒数中减去剩余分钟数(以秒计)
返回秒-数学轮(分钟*60);
}
函数暂停(){
清除超时(t);
document.getElementById('Pause').value=“Resume”;
document.getElementById(“暂停”).onclick=resume();
}
功能恢复(){
t=设置超时();
}
HTML:
倒计时
第二
倒计时();
在清除计时器后的暂停功能中,设置变量
t=0
然后创建一个函数pausePlay(),该函数检查是否(t)pause();否则玩()代码>
调用pausePlay onClick问题出在您的恢复功能中
应该是这样的
试试这个代码
<html>
<head>
<title>Countdown</title>
<script type="text/javascript">
paused = false;
// set minutes
var mins = 30;
// calculate the seconds
var secs = mins * 60;
var t=0;
var flagTimer='resume';
function countdown() {
t = setTimeout('Decrement()',1000);
}
function Decrement() {
if (document.getElementById) {
minutes = document.getElementById("minutes");
seconds = document.getElementById("seconds");
// if less than a minute remaining
if (seconds < 59) {
seconds.value = secs;
} else {
minutes.value = getminutes();
seconds.value = getseconds();
}
secs--;
t= setTimeout('Decrement()',1000);
}
}
function getminutes() {
// minutes is seconds divided by 60, rounded down
mins = Math.floor(secs / 60);
return mins;
}
function getseconds() {
// take mins remaining (as seconds) away from total seconds remaining
return secs-Math.round(mins *60);
}
function pause() {
if( flagTimer=='resume')
{
clearTimeout(t);
t=0;alert(' 12c ya');
document.getElementById('Pause').value="Resume";
flagTimer='pause';
}
else
{
flagTimer='resume';
document.getElementById('Pause').value="Pause";
resume();
}
}
function resume() {
t= setTimeout('Decrement()',1000);
}
</script>
</head>
<body>
<div id="timer">
<input id="minutes" style="width: 24px; border: none; background-color:none;">mts
<input id="seconds" style="width: 26px; border: none; background-color:none;"/>second
<div id="timer">
<input type="button" id="Pause" value="Pause" onClick="pause();" />
</div>
</div>
<script>
countdown();
</script>
</body>
</html>
倒计时
暂停=错误;
//设定分钟数
var mins=30;
//计算秒数
var secs=分钟*60;
var t=0;
var flagTimer='resume';
函数倒计时(){
t=设置超时('Decrement()',1000);
}
函数减量(){
if(document.getElementById){
分钟=document.getElementById(“分钟”);
秒=document.getElementById(“秒”);
//如果剩下不到一分钟
如果(秒<59){
秒。值=秒;
}否则{
minutes.value=getminutes();
seconds.value=getseconds();
}
秒--;
t=设置超时('Decrement()',1000);
}
}
函数getminutes(){
//分是秒除以60,四舍五入
分钟=数学楼层(秒/60);
返回分钟;
}
函数getseconds(){
//从总剩余秒数中减去剩余分钟数(以秒计)
返回秒数学轮(分钟*60);
}
函数pause(){
如果(flagTimer=='resume')
{
清除超时(t);
t=0;警报('12c ya');
document.getElementById('Pause').value=“Resume”;
flagTimer='pause';
}
其他的
{
flagTimer='resume';
document.getElementById('Pause').value=“Pause”;
恢复();
}
}
功能恢复(){
t=设置超时('Decrement()',1000);
}
mts
第二
倒计时();
现场测试
Fiddle在js Fiddle中分享你的结果。我会帮助你的!执行setTimeout()
时,请向其传递函数,而不是字符串。例如,setTimeout('Decrement()',1000)代码>可以写为setTimeout(减量,1000)代码>
<html>
<head>
<title>Countdown</title>
<script type="text/javascript">
paused = false;
// set minutes
var mins = 30;
// calculate the seconds
var secs = mins * 60;
var t=0;
var flagTimer='resume';
function countdown() {
t = setTimeout('Decrement()',1000);
}
function Decrement() {
if (document.getElementById) {
minutes = document.getElementById("minutes");
seconds = document.getElementById("seconds");
// if less than a minute remaining
if (seconds < 59) {
seconds.value = secs;
} else {
minutes.value = getminutes();
seconds.value = getseconds();
}
secs--;
t= setTimeout('Decrement()',1000);
}
}
function getminutes() {
// minutes is seconds divided by 60, rounded down
mins = Math.floor(secs / 60);
return mins;
}
function getseconds() {
// take mins remaining (as seconds) away from total seconds remaining
return secs-Math.round(mins *60);
}
function pause() {
if( flagTimer=='resume')
{
clearTimeout(t);
t=0;alert(' 12c ya');
document.getElementById('Pause').value="Resume";
flagTimer='pause';
}
else
{
flagTimer='resume';
document.getElementById('Pause').value="Pause";
resume();
}
}
function resume() {
t= setTimeout('Decrement()',1000);
}
</script>
</head>
<body>
<div id="timer">
<input id="minutes" style="width: 24px; border: none; background-color:none;">mts
<input id="seconds" style="width: 26px; border: none; background-color:none;"/>second
<div id="timer">
<input type="button" id="Pause" value="Pause" onClick="pause();" />
</div>
</div>
<script>
countdown();
</script>
</body>
</html>