ティックアニメーション効果を作成するための 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 8.0.24 バージョンのインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 8.0.24バージョンのインストールと設定方法を記録し、皆さんと共有しますM...

Linux で MySQL のルート パスワードを変更する方法

序文このサービスは数か月前からMySQLに導入されています。私の仕事は基本的にターミナルで行われるた...

Docker ロード後にイメージ名が none になる問題の解決方法

最近、docker load -i コマンドを使用してイメージ パッケージを圧縮した後、イメージ名と...

入力ボックスのプレースホルダーテキストのデフォルトの色を変更する -webkit-input-placeholder メソッド

HTML5 では、入力用のネイティブ プレースホルダー属性が追加されており、これは高度なブラウザでサ...

MySQLはtruncateコマンドを使用してデータベース内のすべてのテーブルを素早くクリアします

1. まずSELECT文を実行して、すべての切り捨て文を生成します。ステートメント形式: selec...

MySQL 5.7 でデータベースのデータ保存場所を変更する方法

MySQL データベースに保存されるデータが徐々に増加すると、元のストレージ領域がいっぱいになり、M...

WeChatミニプログラムは同時通訳を利用して音声認識を実装します

私は同時通訳音声認識機能を使用して、WeChatアプレットのホームページの音声検索機能を実現しました...

Vueルータールーティングの詳細な説明

目次1. 基本的な使い方2. 注意すべき点3. マルチレベルルーティング(マルチレベルルーティング)...

CSS 複合セレクタの具体的な使用法

交差点セレクター交差セレクターは、直接接続された 2 つのセレクターで構成されます。最初のセレクター...

一般的なSQL削除ステートメントの原則の違いを理解するだけです

この記事では主に、SQL 削除ステートメント DROP、TRUNCATE、および DELETE の違...

MySQLの大文字と小文字の区別によって発生する問題の分析

MYSQLは大文字と小文字を区別します言葉を見れば信じられます。タイトルを見れば内容がわかります。 ...

Dockerを使用してプライベートGitLabを構築する2つの方法

最初の方法: docker インストール1. オープンソース版のイメージを取得する2. 対応するデー...

Linux で複数の mysql5.7.19 (tar.gz) ファイルをインストールする方法

LinuxでのMySQL-5.7.19バージョンの初心者向けの最初のインストールについては、前の記事...

最新のウェブフロントエンドフレームワーク10選を紹介(翻訳)

Web 開発の世界では、フレームワークは非常に一般的です。新しいフレームワークやテンプレートが毎日の...

小さなページングデザイン

ユーザーが目的のものを探すために前進するか後退するかを選択できるようにします。たとえば、Taobao...