首页 >web前端 >前端问答 >如何用前端三剑客创建漂亮的倒计时效果

如何用前端三剑客创建漂亮的倒计时效果

藏色散人
藏色散人原创
2021-08-19 14:14:392290浏览

在上一篇文章《用CSS快速创建高级模糊感的背景图像》中给大家介绍了怎么用CSS快速创建高级模糊感的背景图像,很炫酷的实现效果,感兴趣的朋友可以去学习了解一下~

那么本文的重点则是给大家介绍如何通过前端三剑客(HTML、css、javascript)实现一个非常漂亮且实用的倒计时效果。

如果你需要一个倒计时页面,那就不要错过本文啦~

下面我们直接上完整的代码:

实现倒计时效果的代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset=utf-8 />
    <title></title>
<style>
    body, html {
        height: 100%;
        margin: 0;
    }
    .bgimg {
        background-image: url(&#39;003.jpg&#39;);
        height: 100%;
        width:100%;
        background-position: center;
        background-size: cover;
        position: relative;
        color: white;
        font-family: "Courier New", Courier, monospace;
        font-size: 25px;
    }
    .topleft {
        background-image: url(&#39;logo.png&#39;);
        position: absolute;
        width:100%;
        height:100%;
        background-repeat: no-repeat;
        top: 2px;
        left: 16px;


    }
    .bottomleft {
        position: absolute;
        bottom: 0;
        left: 16px;
    }
    .middle {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-align: center;
    }
    hr {
        margin: auto;
        width: 40%;
    }
</style>

</head>
<body>
<div class="bgimg">
    <div class="topleft">
        <div id="color-overlay"></div>
    </div>
    <div class="middle">
        <h1>距离2022年春节还有:</h1>
        <hr>
        <p id="demo" style="font-size:30px"></p>
    </div>
    <div class="bottomleft">
        <p>www.php.cn</p>
    </div>
</div>
<script>
    // 设定我们倒计时的日期
    var countDownDate = new Date("2022,2,1").getTime();
    // 每1秒更新一次计数
    var countdownfunction = setInterval(function() {
        // 获取今天的日期和时间
        var now = new Date().getTime();

        // 找出现在与倒数日期之间的差
        var distance = countDownDate - now;

        // 时间计算为天,小时,分和秒
        var days = Math.floor(distance / (1000 * 60 * 60 * 24));
        var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
        var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
        var seconds = Math.floor((distance % (1000 * 60)) / 1000);

        // 在id="demo"的元素中输出结果
        document.getElementById("demo").innerHTML = days + "天" + hours + "时"
            + minutes + "分" + seconds + "秒";

        // 如果倒计时结束了,写一些文字
        if (distance < 0) {
            clearInterval(countdownfunction);
            document.getElementById("demo").innerHTML = "EXPIRED";
        }
    }, 1000);
</script>
</body>
</html>

运行该文件,效果如下:

20d3a72804d056805bc0035e396578b.png

(背景图来源于网络,侵删歉)

想要实现倒计时效果主要是通过javascript来实现这个功能,样式当然是通过html/css来设置,具体的代码讲解我已经在上述代码中通过注释的方式注明了每步的意思,相信大家可以一目了然~

大家也可以直接复制上述代码在本地测试,背景图或者文字内容都可以轻松替换,如果你想要实现不一样的倒计时效果,那么大家就可以根据本文内容进行拓展!学习掌握实现思路是最重要的!

最后如果有疑问,欢迎大家留言评论!

PHP中文网平台有非常多的视频教学资源,欢迎大家学习《css视频教程》《javascript基础教程》!

以上是如何用前端三剑客创建漂亮的倒计时效果的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn