ティックアニメーション効果を作成するための svg+css または js

ティックアニメーション効果を作成するための svg+css または js

以前、上司からログイン後にチェックマークを表示できるプログラムを作るように言われたのですが、Baiduでは見つけられませんでした。今日、Bilibiliで実際に要件に基づいて改良を加えた動画を見ました。さっそく、その効果を見てみましょう!

HTMLコード

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>チェックボックスアニメーション</title>
</head>
<本文>
<div id="d1">
    <input type="checkbox" style="display: none" id="love1" />
    <label for="love1" id="btn1" >完了</label>
<svg 幅="200px" 高さ="200px">
    <circle r="90" class="circle" fill="none"stroke="#2de540"stroke-width="10" cx="100" cy="100"stroke-linecap="round" transform="rotate(-90 100 100) " ></circle>
    <ポリライン fill="none" ストローク="#2de540" ストローク幅="10" ポイント="44,107 86,137 152,69" ストロークラインキャップ="round" ストロークラインジョイン="round" クラス="tick" ></ポリライン>
</svg>
<h2 style="text-align: center;width: 200px">成功</h2>

</div>
</本文>
<!--ここで地元の jq を紹介してください-->
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</html>

CSSコード

h2 {
        フォントファミリー: Helvetica;
        フォントサイズ: 30px;
        上マージン: 20px;
        色: #333;
        不透明度: 0;
    }
    input[type="checkbox"]:checked+ ラベル ~ h2 {
        アニメーション: .6 秒のタイトルのイーズインアウト;
        アニメーション遅延: 1.2秒;
        アニメーション塗りつぶしモード: forwards;
    }
    。丸 {
        ストロークダッシュ配列: 1194;
        ストロークダッシュオフセット: 1194;
    }
    input[type="checkbox"]:checked + ラベル + svg .circle {
        アニメーション: 1 秒間の円のイーズインアウト;
        アニメーション塗りつぶしモード: forwards;
    }
    .ティック{
        ストロークダッシュ配列: 350;
        ストロークダッシュオフセット: 350;
    }
    input[type="checkbox"]:checked + label+ svg .tick {
        アニメーション: tick .8s イーズアウト;
        アニメーション塗りつぶしモード: forwards;
        アニメーション遅延: .95秒;
    }
    @keyframes 円 {
        から {
            ストロークダッシュオフセット: 1194;
        }
        に {
            ストロークダッシュオフセット: 2388;
        }
    }
    @keyframes ティック {
        から {
            ストロークダッシュオフセット: 350;
        }
        に {
            ストロークダッシュオフセット: 0;
        }
    }
    @キーフレームタイトル{
        から {
            不透明度: 0;
        }
        に {
            不透明度: 1;
        }
    }
    ラベル {
        表示: インラインブロック;
        高さ: 38px;
        幅: 38px;
        行の高さ: 38px;
        パディング: 0 18px;
        背景色: #1E9FFF;
        色: #fff;
        空白: ラップなし;
        テキスト配置: 中央;
        フォントサイズ: 14px;
        境界線: なし;
        境界線の半径: 2px;
        カーソル: ポインタ;
    }
    #d1 {
        ディスプレイ: フレックス;
        コンテンツの中央揃え: 中央;
        最小高さ: 100px;
        flex-direction: 列;
    }

ここで終わるべきだったのですが、実際に機能を実装すると、アニメーション効果の表示を切り替えるためにチェックボックスを使用することはほとんどありません。一般的に、アニメーション効果を操作するには、やはりボタンが必要です。以下はjq操作のコードです。実際にはjqの.animate()を使用する方が良いのですが、初心者なので怠けて(ps:まあ、やり方がわからないのですが)、直接.css()を使用しました。

JavaScript コード

  $("#btn1").on("クリック",関数() {
       if($(this).text()==="完了"){
           $(".circle").css({'animation':'circle 1s easy-in-out','animation-fill-mode':'forwards'});
           $(".tick").css({'animation':'tick .8s easy-out','animation-fill-mode':'forwards','animation-delay':'.95s'});
           $("h2").css({'アニメーション':'.6s タイトルのイーズインアウト','アニメーションフィルモード':'フォワード','アニメーションディレイ':'1.2s'})
           $(this).text("キャンセル")
       }それ以外{
           $(".circle").css({'アニメーション':'なし','アニメーションの塗りつぶしモード':'なし'});
           $(".tick").css({'アニメーション':'なし','アニメーションの塗りつぶしモード':'なし'});
           $("h2").css({'アニメーション':'なし','アニメーションの塗りつぶしモード':'なし'})
           $(this).text("完了")
       }
   });

svg+css または js を使用してチェックマークアニメーション効果を作成する方法についての記事はこれで終わりです。より関連性の高い svg css チェックマークアニメーションコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

<<:  ウェブサイトのカラースキーム ウェブサイトに適した色の選択

>>:  Docker Compose を使用して ELK を迅速にデプロイする (テスト済みで効果的)

推薦する

MySQL の起動オプションとシステム変数の例の詳細な説明

目次ブートオプションコマンドラインパラメータの長い形式と短い形式設定ファイル構成グループシステム変数...

SQL 文を使用してデータを収集する場合の sum 関数と count 関数の if 判定条件の使用法の説明

まず、例を挙げてみましょう(読みたくない場合は、以下の要約だけ読んでください)。 order_typ...

MySQLでデータベースデータ保存ディレクトリを変更する方法

序文MySQL データベースのデフォルトのデータベース ファイルは /var/lib/mysql に...

CSS 属性値正規マッチングセレクターの使い方 (ヒント)

属性値の正規一致セレクターには 3 つの種類があります。 [属性^="値"] [...

Docker イメージのデフォルトの保存場所を変更する方法 (ソリューション)

システムの初期のパーティション分割により、オペレーティング システム内の対応する / パーティション...

Docker JVM メモリ使用量の表示

1. Docker コンテナのホスト マシンに入り、指定されたイメージを実行しているコンテナ ID ...

Docker での Tomcat インストールの 404 問題の解決方法

tomcat の containerID を見つけて、tomacat ディレクトリに入ります。 [r...

キーフリーログインプロセスを実現するためのLinux構成の分析

1.sshコマンドLinux では、ssh コマンドを使用して別のサーバーにログインできます。 2 ...

Vue プロジェクトをパッケージ化して Apache サーバーにデプロイする手順

開発環境では、vue プロジェクトは、ローカルで Express サーバーを構築することをベースにし...

色の16進数カラーコード表表示と16進値の比較表示で簡単に検索できます

さまざまな色の16進コード表[パート1] 赤とピンク、およびそれらの 16 進コード。 #99003...

IdeaはリモートDockerをデプロイし、ファイルを構成する

1. LinuxサーバーのDocker構成ファイルを変更する vim /usr/lib/system...

JS で配列の重複排除を実装する 7 つの方法

目次1. Set()+Array.from() を使用する2. 2層ループ+アレイ接合方式の使用3....

MySQL 挿入時間の 8 時間の違いの問題の解決方法

MySQL挿入時の8時間の時差の問題を解決する通常、jdbc の URL にはいくつかのパラメータを...

MySQL SQL文の特殊処理文のまとめ(必読)

1.テーブル全体を更新します。データ行の列の値が空の場合は、別の列フィールドの値と同じにします。 ...

MySQLを安全にシャットダウンする方法

MySQL サーバーをシャットダウンする場合、シャットダウン方法に応じてさまざまな問題が発生する可能...