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跨页面保存变量做菜单的方法
Jan 17 Javascript
jquery 表单取值常用代码
Dec 22 Javascript
jQuery移除元素自动解绑事件实现思路及代码
May 31 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
JavaScript通过select动态更换图片的方法
Mar 23 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
Mar 31 Javascript
jQuery实现页面滚动时智能浮动定位
Jan 08 Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
微信小程序一周时间表功能实现
Oct 17 Javascript
微信小程序停止其他视频播放当前视频的实例代码
Dec 25 Javascript
JavaScript实现复选框全选和取消全选
Nov 20 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
合作指挥官:孟斯克
2020/03/16 星际争霸
php统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
Display SQL Server Version Information
2007/06/21 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
jquery 动态增加删除行的简单实例(推荐)
2016/10/12 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
Python对象转JSON字符串的方法
2016/04/27 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
任命书范本大全
2014/06/06 职场文书
学校督导评估方案
2014/06/10 职场文书
交通工程专业推荐信
2014/09/06 职场文书
师德师风自查材料
2014/10/14 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL