问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么给html5游戏添加计时功能和倒计时功能

发布网友 发布时间:2022-04-20 02:47

我来回答

2个回答

懂视网 时间:2022-04-20 07:08

听到计时器之后或许大家认为只有在js中可以实现,其实这种想法在你不知道有html5的情况下还能成立,下文为大家介绍下html5中是如何实现计时器的,感兴趣的朋友不要错过

html:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame 
Remove this if you use the .htaccess --> 
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<title>HTML5 Timer for work-relax balance</title> 
<meta name="description" content=""> 
<meta name="author" content="kevin"> 
<meta name="viewport" content="width=device-width; initial-scale=1.0"> 
<!-- Replace favicon.ico & apple-touch-icon.png in the root of your domain and delete these references --> 
<link rel="shortcut icon" href="/favicon.ico"/> 
<link rel="apple-touch-icon" href="/apple-touch-icon.png"/> 
<link rel="stylesheet" type="text/css" href="css/style.css"> 
<script> 
countDownSeconds = 60; 
var handle = null; 
//window load 
function onLoadWindow() { 
aCanvas = document.getElementById("countdownCanvas"); 
context = aCanvas.getContext("2d"); 
var canvasText = "Press to Start..."; 
var xPos = aCanvas.width / 2; 
var yPos = aCanvas.height / 2; 
context.font = "12pt Century Gothic"; 
context.fillStyle = "#008000;"; 
context.textAlign = "center"; 
context.textBaseline = "middle"; 
context.fillText(canvasText, xPos, yPos); 
} 
function updateCanvas(theContext, width, height) { 
if (countDownSeconds < 0) { 
clearInterval(handle); 
handle = null; 
alert("hey, time is up!"); 
return 0; 
} 
minStr = Math.floor(countDownSeconds / 60); 
secStr = countDownSeconds % 60; 
if (minStr < 10) { 
minStr = "0" + minStr; 
} 
if (secStr < 10) { 
secStr = "0" + secStr; 
} 
context.clearRect(0, 0, width, height); 
context.font = "24pt Century Gothic"; 
context.fillText(minStr + " : " + secStr, width / 2, height / 2); 
countDownSeconds--; 
} 
function startWorkCountDown() { 
if (handle != null) { 
clearInterval(handle); 
} 
countDownSeconds = document.getElementById("workIntervalInput").value * 60; 
timeDisplayCanvas = document.getElementById("countdownCanvas"); 
timeDisplayContext2D = timeDisplayCanvas.getContext("2d"); 
updateCanvas(timeDisplayContext2D, timeDisplayCanvas.width, timeDisplayCanvas.height); 
handle = setInterval(function() { 
updateCanvas(timeDisplayContext2D, timeDisplayCanvas.width, timeDisplayCanvas.height); 
}, 1000); 
} 
function startRestCountDown() { 
if (handle != null) { 
clearInterval(handle); 
} 
countDownSeconds = document.getElementById("restIntervalInput").value * 60; 
timeDisplayCanvas = document.getElementById("countdownCanvas"); 
timeDisplayContext2D = timeDisplayCanvas.getContext("2d"); 
updateCanvas(timeDisplayContext2D, timeDisplayCanvas.width, timeDisplayCanvas.height); 
handle = setInterval(function() { 
updateCanvas(timeDisplayContext2D, timeDisplayCanvas.width, timeDisplayCanvas.height); 
}, 1000); 
} 
</script> 
</head> 
<body onload="onLoadWindow()"> 
<p> 
<header> 
<h1>work-life balance timer</h1> 
</header> 
Please choose the work interval: 
<input name="workIntervalInput" id="workIntervalInput" type="number" value="25" min="15" max="45" step="5"/> 
minutes 

Please choose the rest interval: 
<input name="restIntervalInput" id="restIntervalInput" type="number" value="5" min="3" max="10" step="1"/> 
minutes 


<canvas id="countdownCanvas" width="300" height="50" style="border:2px solid black"> 
This is a canvas 
</canvas> 


<button onclick="startWorkCountDown()"> 
Work Hard 
</button> 
<button onclick="startRestCountDown()"> 
Take A Break 
</button> 
<footer> 
<p> 
© Copyright Reserved 
</p> 
</footer> 
</p> 
</body> 
</html>

css3:

/* 
* HTML5 ? Boilerplate 
* 
* What follows is the result of much research on cross-browser styling. 
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal, 
* Kroc Camen, and the H5BP dev community and team. 
* 
* Detailed information about this CSS: h5bp.com/css 
* 
* ==|== normalize ========================================================== 
*/ 

/* ============================================================================= 
HTML5 display definitions 
========================================================================== */ 
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; } 
header {text-shadow: #220000 0px 0px 10px 10px;} 
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } 
audio:not([controls]) { display: none; } 
[hidden] { display: none; } 
/* ============================================================================= 
Base 
========================================================================== */ 
/* 
* 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units 
* 2. Force vertical scrollbar in non-IE 
* 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g 
*/ 
html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } 
body { margin: 0; font-size: 24px; line-height: 1.231;} 
body, button, input, select, textarea {font-family:"Century Gothic"; color:#008000} 
/* 
* Remove text-shadow in selection highlight: h5bp.com/i 
* These selection declarations have to be separate 
* Also: hot pink! (or customize the background color to match your design) 
*/ 
::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; } 
::selection { background: #fe57a1; color: #fff; text-shadow: none; } 

/* ============================================================================= 
Links 
========================================================================== */ 
a { color: #00e; } 
a:visited { color: #551a8b; } 
a:hover { color: #06e; } 
a:focus { outline: thin dotted; } 
/* Improve readability when focused and hovered in all browsers: h5bp.com/h */ 
a:hover, a:active { outline: 0; } 

/* ============================================================================= 
Typography 
========================================================================== */ 
abbr[title] { border-bottom: 1px dotted; } 
b, strong { font-weight: bold; } 
blockquote { margin: 1em 40px; } 
dfn { font-style: italic; } 
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } 
ins { background: #ff9; color: #000; text-decoration: none; } 
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } 
/* Redeclare monospace font family: h5bp.com/j */ 
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; } 
/* Improve readability of pre-formatted text in all browsers */ 
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; } 
q { quotes: none; } 
q:before, q:after { content: ""; content: none; } 
small { font-size: 85%; } 
/* Position subscript and superscript content without affecting line-height: h5bp.com/k */ 
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } 
sup { top: -0.5em; } 
sub { bottom: -0.25em; } 

/* ============================================================================= 
Lists 
========================================================================== */ 
ul, ol { margin: 1em 0; padding: 0 0 0 40px; } 
dd { margin: 0 0 0 40px; } 
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; } 

/* ============================================================================= 
Embedded content 
========================================================================== */ 
/* 
* 1. Improve image quality when scaled in IE7: h5bp.com/d 
* 2. Remove the gap between images and borders on image containers: h5bp.com/e 
*/ 
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; } 
/* 
* Correct overflow not hidden in IE9 
*/ 
svg:not(:root) { overflow: hidden; } 

/* ============================================================================= 
Figures 
========================================================================== */ 
figure { margin: 0; } 

/* ============================================================================= 
Forms 
========================================================================== */ 
form { margin: 0; } 
fieldset { border: 0; margin: 0; padding: 0; } 
/* Indicate that 'label' will shift focus to the associated form element */ 
label { cursor: pointer; } 
/* 
* 1. Correct color not inheriting in IE6/7/8/9 
* 2. Correct alignment displayed oddly in IE6/7 
*/ 
legend { border: 0; *margin-left: -7px; padding: 0; } 
/* 
* 1. Correct font-size not inheriting in all browsers 
* 2. Remove margins in FF3/4 S5 Chrome 
* 3. Define consistent vertical alignment display in all browsers 
*/ 
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } 
/* 
* 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet) 
* 2. Correct inner spacing displayed oddly in IE6/7 
*/ 
button, input { line-height: normal; *overflow: visible; } 
/* 
* Reintroduce inner spacing in 'table' to avoid overlap and whitespace issues in IE6/7 
*/ 
table button, table input { *overflow: auto; } 
/* 
* 1. Display hand cursor for clickable form elements 
* 2. Allow styling of clickable form elements in iOS 
*/ 
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; } 
/* 
* Consistent box sizing and appearance 
*/ 
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; } 
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; } 
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } 
/* 
* Remove inner padding and border in FF3/4: h5bp.com/l 
*/ 
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } 
/* 
* 1. Remove default vertical scrollbar in IE6/7/8/9 
* 2. Allow only vertical resizing 
*/ 
textarea { overflow: auto; vertical-align: top; resize: vertical; } 
/* Colors for form validity */ 
input:valid, textarea:valid { } 
input:invalid, textarea:invalid { background-color: #f0dddd; } 

/* ============================================================================= 
Tables 
========================================================================== */ 
table { border-collapse: collapse; border-spacing: 0; } 
td { vertical-align: top; } 

/* ==|== primary styles ===================================================== 
Author: 
========================================================================== */ 

/* ==|== non-semantic helper classes ======================================== 
Please define your styles before this section. 
========================================================================== */ 
/* For image replacement */ 
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; } 
.ir br { display: none; } 
/* Hide from both screenreaders and browsers: h5bp.com/u */ 
.hidden { display: none !important; visibility: hidden; } 
/* Hide only visually, but have it available for screenreaders: h5bp.com/v */ 
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } 
/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */ 
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } 
/* Hide visually and from screenreaders, but maintain layout */ 
.invisible { visibility: hidden; } 
/* Contain floats: h5bp.com/q */ 
.clearfix:before, .clearfix:after { content: ""; display: table; } 
.clearfix:after { clear: both; } 
.clearfix { zoom: 1; } 

/* ==|== media queries ====================================================== 
PLACEHOLDER Media Queries for Responsive Design. 
These override the primary ('mobile first') styles 
Modify as content requires. 
========================================================================== */ 
@media only screen and (min-width: 480px) { 
/* Style adjustments for viewports 480px and over go here */ 
} 
@media only screen and (min-width: 768px) { 
/* Style adjustments for viewports 768px and over go here */ 
} 

/* ==|== print styles ======================================================= 
Print styles. 
Inlined to avoid required HTTP connection: h5bp.com/r 
========================================================================== */ 
@media print { 
* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */ 
a, a:visited { text-decoration: underline; } 
a[href]:after { content: " (" attr(href) ")"; } 
abbr[title]:after { content: " (" attr(title) ")"; } 
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */ 
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } 
thead { display: table-header-group; } /* h5bp.com/t */ 
tr, img { page-break-inside: avoid; } 
img { max-width: 100% !important; } 
@page { margin: 0.5cm; } 
p, h2, h3 { orphans: 3; widows: 3; } 
h2, h3 { page-break-after: avoid; } 
} 
#startTimer{ 
position:inherit 
width:75px; 
height:20px; 
top:35px; 
left:25px; 
cursor:pointer 
} 
#stopTimer{ 
position:inherit; 
width:75px; 
height:20px; 
top:10px; 
left:25px; 
cursor:pointer 
} 
#countdownCanvas{ 
border-radius:25px; 
box-shadow:10px 10px 5px #888888; 
}

热心网友 时间:2022-04-20 04:16

这个需要 javascript 之类的脚本语言来支持

=======

使用javascript 实现倒计时:

setinterval();

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
日本最厉害的神叫什么?形象又是什么样的? 我是1995年的,我是几岁上的小学啊? 95年大学毕业于哪一年几月份 1995年生的孩子几岁上小学,中学,高中 叶罗丽时辰砂兑换码大全 叶罗丽精灵梦礼包哪里领 礼包领取兑换地址大全 叶罗丽彩妆公主怎么玩_叶罗丽彩妆公主玩法大全 叶罗丽小游戏大全(叶罗丽小游戏大全换装游戏) 港式碗仔翅的烹饪秘诀有哪些呢? ...三个月的机械键盘有一些键失灵了 用回以前的键盘普通键盘就可以用... 用HTML5制作倒计时,输入两个日期,进行倒计时 我想知道守宫砂的原理是什么??? 小说里的守宫砂是什么东西?真的有吗? 真的有守宫砂这一回事吗? 古代女人是否真的有守宫砂?什么原理? 武侠小说里的守宫砂到底是什么东西,真的有这种东西吗?是什么原理 问一下,古代真有守宫砂这种东西吗?如果有,又是什么原理工作的呢?谢谢啦! 比亚迪秦纯电动汽车? 三明的春节作文300字 使用HTML5 +js 编制计时器,使用浏览器调试程序时,时间走得过快,请各位帮忙看看程序错误 2017残疾人公务员考试条件 残疾人报考公务员有哪些要求和限制 残疾人是否可以考公务员 残疾人能报考公务员么 残疾人考公务员一般都是什么岗位 妈妈批评教育孩子的作文怎么写? 父母通过一件事来教育孩子的作文,六百字左右 饭店把鸭蛋黄当蟹黄卖可以投诉吗? 用易语言大漠抓字,创建字库,抓到的字是彩色的,设好偏色也识别不了,该怎么弄 关于爸爸教育孩子作文 红糖肉怎么做好吃 贵州的红糖扣肉怎么做 联通4G信号覆盖范围 红糖煮肉怎么煮好吃 红糖炒肉怎么炒 请问4G手机信号好吗 现在电影院都是在播什么电影 求一个最近在播或者快上映的电影名字 如何在正在播的电影上截图 在泰州市高港区办理服装生产营业执照怎么办理? 我在播电影的时候,系统显示说我的flash版本太低, 四川卫视现在为什么不播电影了?前一阵都在播电影。。 常用火锅底料有哪些 如何火锅底料 空气炸锅必须放烤盘吗 jquery datatables 后台如何获取分页条件? jquery能不能获取分页时的最大页码数 怎么获取? 如保获取点击a标签的次数,然后通过jquery实现分页查询 怎么样实现分页jquery,ajax 怎么用 Jquery 做 无限分页