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页面加载完执行事件代码
Feb 11 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
Aug 21 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
javascript实现表单提交后,提交按钮不可用的方法
Apr 18 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
getElementById().innerHTML与getElementById().value的区别
Oct 27 Javascript
概述jQuery的元素筛选
Nov 23 Javascript
javascript中href和replace的比较(详解)
Nov 25 Javascript
深入Vue-Router路由嵌套理解
Aug 13 Javascript
深入理解vue-class-component源码阅读
Feb 18 Javascript
用vscode开发vue应用的方法步骤
May 06 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
php.ini中date.timezone设置分析
2011/07/29 PHP
php数组编码转换示例详解
2014/03/11 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
2016/06/30 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
python解析文件示例
2014/01/23 Python
详解Python with/as使用说明
2018/12/13 Python
python树莓派红外反射传感器
2019/01/21 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
flask实现验证码并验证功能
2019/12/05 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
syb养殖创业计划书
2014/01/09 职场文书
加油口号大全
2014/06/13 职场文书
学习“七一”讲话精神体会
2014/07/08 职场文书
政协会议宣传标语
2014/10/09 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
php解析非标准json、非规范json的方式实例
2022/05/10 PHP