ホームページ >ウェブフロントエンド >フロントエンドQ&A >フロントエンド三銃士で美しいカウントダウン効果を作成する方法

フロントエンド三銃士で美しいカウントダウン効果を作成する方法

藏色散人
藏色散人オリジナル
2021-08-19 14:14:392304ブラウズ

前の記事「CSS を使用して高度なぼかした背景画像をすばやく作成する 」では、CSS を使用して高度なぼかした背景画像をすばやく作成する方法を紹介しました。その効果は非常にクールです。興味のある友人それについて学ぶことができます~

この記事の焦点は、フロントエンドの 3 人の剣士 (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>

このファイルを実行すると、結果は次のようになります:

フロントエンド三銃士で美しいカウントダウン効果を作成する方法

(背景画像はインターネットから取得したものです、申し訳ありません)侵害)

したい カウントダウン効果を実現するために、この機能は主に JavaScript で実装されています。スタイルは、もちろん html/css で設定されます。具体的なコードの説明については、それぞれの意味をメモしました。上記のコードのコメントをステップごとに実行していきます。誰でも一目で理解できると思います~

上記のコードを直接コピーしてローカルでテストすることもできます。背景画像やテキスト コンテンツは簡単に置き換えることができます。別のカウントダウン効果を実現したい場合は、この記事の内容に基づいて拡張できます。実装のアイデアを学び、習得することが最も重要です。

最後に、ご質問がございましたら、コメントを残してください。

PHP 中国語 Web サイト プラットフォームには、多くのビデオ教育リソースがあります。「css ビデオ チュートリアル 」と「JavaScript 基本チュートリアル 」を学習する皆さんを歓迎します。

以上がフロントエンド三銃士で美しいカウントダウン効果を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。