js -内置对象-倒计时

      1.核心算法:输入的时间减去现在的时间,即倒计时,但不能拿着时分秒相减,

        如05分减去25分,结果会是负数

        2.用时间戳(获得总的毫秒数,是1970.1.1至今的总毫秒数(时间戳))来做,用输入的时间的时间戳减去现在时间的时间戳,得到相差的时间戳毫秒

        3.将剩余的时间戳转换成时分秒

        转换公式:

        d = parseInt(总毫秒数 / 60 / 60 / 24); //计算天数

        h = parseInt(总毫秒数 / 60 / 60 % 24); //计算小时

        m = parseInt(总毫秒数 / 60 % 60); //计算分数

        s = parseInt(总毫秒数 % 60); //计算秒数

//倒计时
function getCountdown() {
    function countdown(intime) {
        var nowTime = +new Date(); //当前时间的总毫秒数
        var inputTime = +new Date(intime); //输入时间的总毫秒数
        var time = (inputTime - nowTime) / 1000; //剩余时间的总毫秒数
        var d = parseInt(time / 60 / 60 / 24); //计算天数
        d = d < 10 ? "0" + d : d;
        var h = parseInt(time / 60 / 60 % 24); //计算小时
        h = h < 10 ? "0" + h : h;
        var m = parseInt(time / 60 % 60); //计算分数
        m = m < 10 ? "0" + m : m;
        var s = parseInt(time % 60); //计算秒数
        s = s < 10 ? "0" + s : s;
        return d + '天' + h + "小时" + m + '分钟' + s + "秒";
    }

    console.log(countdown("2022-12-10 18:00:00"));
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个比较复杂的项目,需要一定的JavaScript编程技能才能完成。以下是一个简单的打地鼠游戏的代码实现: HTML代码: ``` <!DOCTYPE html> <html> <head> <title>打地鼠游戏</title> <style> body { text-align: center; } img { width: 100px; height: 100px; margin: 10px; } #timer { font-size: 24px; margin-bottom: 10px; } #score { font-size: 24px; margin-bottom: 10px; } </style> </head> <body> <h1>打地鼠游戏</h1> <div id="game"> <div id="timer"></div> <div id="score"></div> <img src="hole.png" id="hole1"> <img src="hole.png" id="hole2"> <img src="hole.png" id="hole3"> <img src="hole.png" id="hole4"> <img src="hole.png" id="hole5"> <img src="hole.png" id="hole6"> </div> <button onclick="startGame()">开始游戏</button> <script src="game.js"></script> </body> </html> ``` JavaScript代码: ``` // 定义全局变量 var holes = []; // 地洞数组 var score = 0; // 得分 var time = 30; // 计时 var timerId; // 计时器ID // 在页面加载完成后执行初始化函数 window.onload = function() { init(); } // 初始化函数 function init() { // 获取所有地洞的img元素并存入holes数组 for (var i = 1; i <= 6; i++) { var hole = document.getElementById("hole" + i); holes.push(hole); } // 隐藏所有地鼠的img元素 hideAllMoles(); // 显示初始得分和计时 document.getElementById("score").innerHTML = "得分:" + score; document.getElementById("timer").innerHTML = "计时:" + time + "秒"; } // 开始游戏函数 function startGame() { // 按钮锁定 document.getElementsByTagName("button")[0].disabled = true; // 开始计时 timerId = setInterval(function() { time--; document.getElementById("timer").innerHTML = "计时:" + time + "秒"; // 计时结束,游戏结束 if (time == 0) { clearInterval(timerId); document.getElementById("timer").innerHTML = "游戏结束"; document.getElementsByTagName("button")[0].disabled = false; } }, 1000); // 随机刷新地鼠 setInterval(function() { // 获取随机地洞的索引 var index = Math.floor(Math.random() * 6); // 显示地鼠 showMole(index); // 地鼠停留时间为1秒 setTimeout(function() { hideMole(index); }, 1000); }, 1000); } // 显示指定地洞的地鼠 function showMole(index) { var mole = holes[index].nextElementSibling; mole.style.display = "block"; // 给地鼠添加点击事件 mole.onclick = function() { // 增加得分 score++; document.getElementById("score").innerHTML = "得分:" + score; // 更换地鼠图片 mole.src = "hit.png"; // 地鼠被打后停留时间为0.5秒 setTimeout(function() { mole.style.display = "none"; mole.src = "mole.png"; }, 500); } } // 隐藏指定地洞的地鼠 function hideMole(index) { var mole = holes[index].nextElementSibling; mole.style.display = "none"; } // 隐藏所有地鼠 function hideAllMoles() { for (var i = 0; i < holes.length; i++) { hideMole(i); } } ``` 注意,本代码只是一个简单的示例,还有很多可以改进的地方,例如增加难度、增加音效、增加排行榜等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值