javaScript實現(xiàn)游戲倒計時功能
本文實例為大家分享了js實現(xiàn)游戲倒計時的具體代碼,供大家參考,具體內(nèi)容如下
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
button:hover {
cursor: pointer;
}
</style>
<script>
//1.獲取游戲的總時間
//2.游戲開始的時間
//3.游戲進(jìn)行時
//4. 游戲進(jìn)行時 - 游戲開始時間 = 玩家游戲時長
//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; //繼續(xù)游戲的倒計時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("您的游戲正在進(jìn)行中,確定要重新開始嗎?");
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) {
//點擊繼續(xù)按鈕
zt.textContent = "暫停游戲";
isZT = false;
//禁用開始按鈕
startBtn.disabled = true;
//記錄繼續(xù)游戲開始時間
game_start = new Date();
game_jx();
} else {
//點擊暫停按鈕
zt.textContent = "繼續(xù)游戲";
isZT = true;
//還原開始按鈕
startBtn.disabled = false;
zt_time = game_djs;
game_zt();
}
}
}
//倒計時方法
function djs() {
//獲取游戲進(jìn)行時
var playing = new Date();
game_djs = game_time - parseInt((playing - game_start) / 1000); //
djs_span.innerHTML = game_djs;
id = setTimeout("djs()", 1000); //步長
//游戲結(jié)束
if(game_djs < 1) {
clearTimeout(id);
alert("游戲結(jié)束");
}
}
//暫停游戲
function game_zt() {
clearTimeout(id);
clearTimeout(jx_id);
}
//繼續(xù)游戲
function game_jx() {
//獲取游戲進(jìn)行時
var playing = new Date();
game_djs = zt_time - parseInt((playing - game_start) / 1000); //
djs_span.innerHTML = game_djs;
jx_id = setTimeout("game_jx()", 1000); //步長
//游戲結(jié)束
if(game_djs < 1) {
clearTimeout(jx_id);
alert("游戲結(jié)束");
}
}
//停止游戲
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>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信/支付寶小程序?qū)崿F(xiàn)彈窗動畫縮放到某個位置的示例代碼
本文詳細(xì)介紹了如何使用HTML、CSS和JavaScript實現(xiàn)動畫函數(shù),包括參數(shù)設(shè)置和動畫過程中的狀態(tài)管理,文章還涉及了如何獲取DOM元素、設(shè)置動畫開始和結(jié)束的回調(diào)函數(shù),感興趣的朋友跟隨小編一起看看吧2024-10-10
微信小程序頁面跳轉(zhuǎn)功能之從列表的item項跳轉(zhuǎn)到下一個頁面的方法
這篇文章主要介紹了微信小程序頁面跳轉(zhuǎn)功能之從列表的item項跳轉(zhuǎn)到下一個頁面的方法,結(jié)合具體實例形式總結(jié)分析了微信小程序頁面跳轉(zhuǎn)及列表item項跳轉(zhuǎn)頁面的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
Chrome不支持showModalDialog模態(tài)對話框和無法返回returnValue問題的解決方法
上個禮拜修改測試一個后臺管理項目,在測試與各個瀏覽器兼容性的時候,發(fā)現(xiàn)在chrome瀏覽器下showModalDialog方法顯示的并不是模態(tài)對話框,就像新打開一個頁面一樣,父窗口仍然可以隨意獲取焦點,并可以打開多個窗體,而且返回值returnValue也無法返回,一直是undefined2016-10-10
JavaScript學(xué)習(xí)筆記之獲取當(dāng)前目錄的實現(xiàn)代碼
用來獲取當(dāng)前目錄的js代碼,需要的朋友可以參考下,主要利用了split函數(shù)。2010-12-12
Google Map V3 綁定氣泡窗口(infowindow)Dom事件實現(xiàn)代碼
無法在infowindow里面添加的div進(jìn)行綁定事件處理,官方的API,發(fā)現(xiàn)了google.maps.InfoWindow下面的Events里面有個domready事件2013-04-04
JS學(xué)習(xí)筆記之?dāng)?shù)組去重實現(xiàn)方法小結(jié)
這篇文章主要介紹了JS學(xué)習(xí)筆記之?dāng)?shù)組去重實現(xiàn)方法,結(jié)合實例形式總結(jié)分析了javascript數(shù)組去重的5種常見實現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2019-05-05

