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 相关文章推荐
Javascript与flash交互通信基础教程
Aug 07 Javascript
JS实现下拉框的动态添加(附效果)
Apr 03 Javascript
jQuery中prev()方法用法实例
Jan 08 Javascript
深入理解Angular2 模板语法
Aug 07 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
Jul 10 Javascript
本地存储localStorage用法详解
Jul 31 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
Jan 17 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
Mar 13 Javascript
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
Vue.js watch监视属性知识点总结
Nov 11 Javascript
Vue实现附件上传功能
May 28 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实现链式操作的核心思想
2015/06/23 PHP
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
Python文件去除注释的方法
2015/05/25 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
pytorch之添加BN的实现
2020/01/06 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
环境科学专业个人求职的自我评价
2013/11/28 职场文书
中学教师请假制度
2014/02/03 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
银行竞聘报告范文
2014/11/06 职场文书
2015年考研复习计划
2015/01/19 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
签字仪式主持词
2015/07/03 职场文书
护士岗位竞聘书
2015/09/15 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
常用的Python代码调试工具总结
2021/06/23 Python
用JS创建一个录屏功能
2021/11/11 Javascript
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android
SQL SERVER中的流程控制语句
2022/05/25 SQL Server