案例:模拟京东秒杀倒计时(完整代码)【前端实现】

这篇具有很好参考价值的文章主要介绍了案例:模拟京东秒杀倒计时(完整代码)【前端实现】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

实现效果 

案例分析

代码分析

代码实现 (完整)

背景图片引用


 

实现效果 

案例:模拟京东秒杀倒计时(完整代码)【前端实现】

案例分析

 1.倒计时是不断变化的 所以需要一个定时器(setInterval

 2.三个盒子通过 innerHTML 进行赋值 放入时分秒

 3.使用Date()对象获取当前时间(时间戳)

 4.传递参数获取活动开始的时间,两次时间的单位都是秒

 5.两个时间相减可得到相距的时间

 6.通过计算得到小时,分钟,秒钟 注意要用到补零

 7.使用setInterval(function(){},1000)函数每1秒调用一次倒计时函数(1000为毫秒)

 8.调用倒计时函数

代码分析

 html部分

<div class="timedown">
    <div class="text1">京东秒杀</div>
    <div class="text2">18:00点场 距结束</div>
    <span class="hour">1</span>
    <span class="minute">2</span>
    <span class="second">3</span>
</div>

css部分(简单布局)

<style>
        .timedown {
            position: relative;
            width: 200px;
            height: 270px;
            background: url(../img/flash.png);
        }

        .text1 {
            text-align: center;
            padding-top: 30px;
            font-size: 35px;
            font-weight: 1000;
            color: white;
        }

        .text2 {
            text-align: center;
            padding-top: 100px;
            font-size: 17px;
            font-weight: 1000;
            color: white;
        }

        span {
            position: relative;
            display: inline-block;
            width: 30px;
            height: 30px;
            background-color: black;
            padding: 5px;
            margin-left: 18px;
            margin-top: 12px;
            color: white;
            text-align: center;
            font-size: 15px;
            line-height: 30px;
        }
    </style>

js部分(重要)

(1)获取元素

    var hour = document.querySelector(".hour")
    var minute = document.querySelector(".minute")
    var second = document.querySelector(".second")
    var inputTime = +new Date("2022-10-7 20:00:00") 

(2)注册事件 处理程序文章来源地址https://www.toymoban.com/news/detail-486697.html

  •    注意看:这里在设置倒计时函数之前就调用了倒计时函数,目的是避免刷新页面出现延迟的现象(也就是说使页面中不再出现span标签中原本的文字内容“123”)
  • 这里用innerHTML 给时分秒 重新赋值
  countDown(); 

setInterval(countDown, 1000);//这个回调函数如果是调用的情况,不用加()
    function countDown() {
        var nowTime = +new Date(); 
        var times = (inputTime - nowTime) / 1000;
        var h = parseInt(times / 60 / 60 % 24);
        h = h > 10 ? h : h+"0" ;
        hour.innerHTML = h;//给hour重新赋值h
        var m = parseInt(times / 60 % 60);
        m = m > 10 ? m : "0" + m;
        minute.innerHTML = m;
        var s = parseInt(times % 60);
        s = s > 10 ? s : "0" + s;
        second.innerHTML = s;
    }

代码实现 (完整)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模拟京东秒杀倒计时</title>
    <style>
        .timedown {
            position: relative;
            width: 200px;
            height: 270px;
            background: url(../img/flash.png);
        }

        .text1 {
            text-align: center;
            padding-top: 30px;
            font-size: 35px;
            font-weight: 1000;
            color: white;
        }

        .text2 {
            text-align: center;
            padding-top: 100px;
            font-size: 17px;
            font-weight: 1000;
            color: white;
        }

        span {
            position: relative;
            display: inline-block;
            width: 30px;
            height: 30px;
            background-color: black;
            padding: 5px;
            margin-left: 18px;
            margin-top: 12px;
            color: white;
            text-align: center;
            font-size: 15px;
            line-height: 30px;
        }
    </style>
</head>
<div class="timedown">
    <div class="text1">京东秒杀</div>
    <div class="text2">18:00点场 距结束</div>
    <span class="hour">1</span>
    <span class="minute">2</span>
    <span class="second">3</span>
</div>
<script>
    var hour = document.querySelector(".hour")
    var minute = document.querySelector(".minute")
    var second = document.querySelector(".second")
    var inputTime = +new Date("2022-10-7 20:00:00") 

    countDown();

    setInterval(countDown, 1000);
    function countDown() {
        var nowTime = +new Date(); 
        var times = (inputTime - nowTime) / 1000;
        var h = parseInt(times / 60 / 60 % 24);
        h = h > 10 ? h : h+"0" ;
        hour.innerHTML = h;//给hour重新赋值h
        var m = parseInt(times / 60 % 60);
        m = m > 10 ? m : "0" + m;
        minute.innerHTML = m;
        var s = parseInt(times % 60);
        s = s > 10 ? s : "0" + s;
        second.innerHTML = s;
    }
</script>
<body>
</html>

背景图片引用

案例:模拟京东秒杀倒计时(完整代码)【前端实现】

到了这里,关于案例:模拟京东秒杀倒计时(完整代码)【前端实现】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包