javaScript实现游戏倒计时功能


Posted in Javascript onNovember 17, 2018

本文实例为大家分享了js实现游戏倒计时的具体代码,供大家参考,具体内容如下

<html>

 <head>
  <meta charset="utf-8" />
  <title></title>

  <style>
   button:hover {
    cursor: pointer;
   }
  </style>

  <script>
   //1.获取游戏的总时间 
   //2.游戏开始的时间 
   //3.游戏进行时 
   //4. 游戏进行时 - 游戏开始时间 = 玩家游戏时长
   //5. 游戏总时间 - 玩家游戏时长 = 游戏倒计时

   var zt;
   var startBtn;  
   var djs_span;
   var game_time; //游戏总时长
   var game_start; //游戏开始时间
   var game_djs; //游戏倒计时
   var id; //计时器id
   var isZT = false; //判断是否为暂停,false表示未点击暂停
   var zt_time; //暂停时的倒计时值
   var jx_id; //继续游戏的倒计时id

   window.onload = function() {

    //开始游戏
    startBtn = document.getElementById("start");
    //暂停游戏
     zt = document.getElementById("zt");
    //游戏倒计时
    djs_span = document.getElementById("djs");

    //开始游戏
    startBtn.onclick = function() {

     clearTimeout(jx_id);
     if(isZT) {
      var reset = confirm("您的游戏正在进行中,确定要重新开始吗?");
      if(reset) {
       zt.textContent = "暂停游戏";
       isZT = false;
      } else {
       return;
      }
     }

     //获取游戏总时长
     game_time = document.getElementById("time").value * 60; //把所获取的游戏总时长变成秒
     //记录游戏开始时间
     game_start = new Date();
     //禁用开始按钮
     startBtn.disabled = true;
     djs();

    }

    //停止游戏
    document.getElementById("stop").onclick = function() {
     game_stop();
     //还原开始按钮
     startBtn.disabled = false;
    }

    //暂停游戏
    zt.onclick = function() {
     game_zt();
     if(isZT) {
      //点击继续按钮
      zt.textContent = "暂停游戏";
      isZT = false;
      //禁用开始按钮
      startBtn.disabled = true;
      //记录继续游戏开始时间
      game_start = new Date();
      game_jx();

     } else {
      //点击暂停按钮
      zt.textContent = "继续游戏";
      isZT = true;
      //还原开始按钮
      startBtn.disabled = false;
      zt_time = game_djs;
      game_zt();
     }

    }

   }

   //倒计时方法
   function djs() {
    //获取游戏进行时
    var playing = new Date();

    game_djs = game_time - parseInt((playing - game_start) / 1000); //
    djs_span.innerHTML = game_djs;
    id = setTimeout("djs()", 1000); //步长

    //游戏结束
    if(game_djs < 1) {
     clearTimeout(id);
     alert("游戏结束");
    }
   }

   //暂停游戏
   function game_zt() {
    clearTimeout(id);
    clearTimeout(jx_id);
   }

   //继续游戏
   function game_jx() {
    //获取游戏进行时
    var playing = new Date();

    game_djs = zt_time - parseInt((playing - game_start) / 1000); //
    djs_span.innerHTML = game_djs;
    jx_id = setTimeout("game_jx()", 1000); //步长

    //游戏结束
    if(game_djs < 1) {
     clearTimeout(jx_id);
     alert("游戏结束");
    }
   }

   //停止游戏
   function game_stop() {
    clearTimeout(id);
    clearTimeout(jx_id);
    game_djs = 0;
    djs_span.innerHTML = game_djs;
   }
  </script>

 </head>

 <body>

  游戏总时长:<input id="time" type="text" size="5px" value="1" />分钟 </br>
  倒计时:<span id="djs"></span>  秒 </br>
  <button id="start">开始游戏</button>
  <button id="zt">暂停游戏</button>
  <button id="stop">停止游戏</button>
 </body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
[原创]保存的js无法执行的解决办法
Feb 25 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
Jun 25 Javascript
使用iframe window的scroll方法控制iframe页面滚动
Mar 05 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
Mar 05 Javascript
JavaScript兼容性总结之获取非行间样式案例
Aug 07 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
JavaScript如何获取到导航条中HTTP信息
Oct 10 Javascript
jquery css实现流程进度条
Mar 26 jQuery
Vue解决echart在element的tab切换时显示不正确问题
Aug 03 Javascript
swiperjs实现导航与tab页的联动
Dec 13 Javascript
Javascript实现时间倒计时功能
Nov 17 #Javascript
Javascript实现秒表倒计时功能
Nov 17 #Javascript
js实现简单模态框实例
Nov 16 #Javascript
js实现搜索栏效果
Nov 16 #Javascript
JavaScript实现简单音乐播放器
Apr 17 #Javascript
Vue 全家桶实现移动端酷狗音乐功能
Nov 16 #Javascript
微信小程序自定义toast的实现代码
Nov 16 #Javascript
You might like
PHP 采集程序中常用的函数
2009/12/09 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
jQuery 加上最后自己的验证
2009/11/04 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
2019/09/03 jQuery
小程序实现上下移动切换位置
2019/09/23 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
python实现超简单的视频对象提取功能
2018/06/04 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
python中PyQuery库用法分享
2021/01/15 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
院领导写的就业推荐信
2014/03/09 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
服装设计专业自荐信
2014/06/17 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
党风廉正建设责任书
2015/01/29 职场文书
接待员岗位职责
2015/02/13 职场文书
公积金贷款承诺书
2015/04/30 职场文书
歌剧魅影观后感
2015/06/05 职场文书
给领导敬酒词
2015/08/12 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
python 中[0]*2与0*2的区别说明
2021/05/10 Python
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL