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

在上一篇文章《用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('003.jpg');
        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('logo.png');
        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中文网其它相关文章!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/php/146588.html

(0)
上一篇 2021年9月8日 15:54
下一篇 2021年9月8日 15:54

相关推荐

发表回复

登录后才能评论