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代码
May 28 Javascript
JavaScript自定义事件介绍
Aug 29 Javascript
js控制页面控件隐藏显示的两种方法介绍
Oct 09 Javascript
javascript获取select标签选中的值
Jun 04 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
Jan 04 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
Feb 23 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
基于vue.js的分页插件详解
Nov 27 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
Aug 09 Javascript
详解Vue中CSS样式穿透问题
Sep 12 Javascript
用javascript制作qq注册动态页面
Apr 14 Javascript
vue实现Toast组件轻提示
Apr 10 Vue.js
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
使用 php4 加速 web 传输
2006/10/09 PHP
php 目录与文件处理-郑阿奇(续)
2011/07/04 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
6个超实用的PHP代码片段
2015/08/10 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python使用Matplotlib实现雨点图动画效果的方法
2017/12/23 Python
Tensorflow卷积神经网络实例
2018/05/24 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
python实现梯度下降法
2020/03/24 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
《有趣的发现》教学反思
2014/04/15 职场文书
质量承诺书格式
2014/05/20 职场文书
领导干部个人对照检查材料(群众路线)
2014/09/26 职场文书
2016年安全月活动总结
2016/04/06 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python