SMS送信のカウントダウンを実装するJavaScript

SMS送信のカウントダウンを実装するJavaScript

この記事では、SMS送信のカウントダウンを実装するためのJavaScriptの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

実装のアイデア:

1. jsは送信ボタン要素オブジェクトを取得します
2. 送信間隔を設定する(グローバル変数)
3. クリックイベントを送信ボタン要素オブジェクトにバインドします - - -onclick、
クリックイベントハンドラー:
① クリック後、ボタンは無効に設定されます(disabled: true;)。
② 1秒間隔でタイミング機能を使用します。
時間制限付き関数呼び出しの関数ハンドラ:
時間が0かどうかを判定する
0ではない - - - ボタンの説明が次のように変わります: 残り何秒で、時間が1ずつ減ります
0の場合はボタンをクリックでき、内部の説明が「送信」に戻ります。

コード例:

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>SMS を送信</title>
    <スタイル>
        。箱 {
            幅: 360ピクセル;
            マージン: 100px 自動;
        }
    </スタイル>
</head>

<本文>
    <div class="box">
        携帯電話番号: <input type="number">
        <button>SMS を送信</button>
    </div>

    <スクリプト>
        var btn = document.querySelector('ボタン');
        var 時間 = 10;
        btn.addEventListener('クリック', 関数() {
            btn.disabled = true;
            var タイマー = setInterval(関数() {
                時間 == 0 の場合
                    // タイマーをクリアしてボタンを復元します clearInterval(timer);
                    btn.disabled = false;
                    btn.innerHTML = 'SMSを送信';
                    時間 = 10;
                } それ以外 {
                    btn.innerHTML = '残り' + 時間 + '秒';
                    時間 - ;
                }
            }, 1000);
        });
    </スクリプト>
</本文>

</html>

ページ効果:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JavaScript で 60 秒の SMS カウントダウンを実装
  • JS は、SMS 認証を送信した後にボタンのカウントダウン機能を実装します (更新カウントダウンが失敗しないようにするため)
  • JSはSMS認証コードのカウントダウン実装コードを取得します
  • js は SMS 送信カウントダウン機能を実装します (定期的な検証)
  • js は SMS を再送信するための 5 秒間のカウントダウンを実装します
  • JSは、ユーザーが登録するときにSMS認証コードとカウントダウンを取得する機能を実装します
  • JS SMS 認証コード カウントダウン機能の実装 (認証コードなし、カウントダウンのみ)
  • js で SMS を送信するためのカウントダウンを実装する簡単な方法
  • JS ベースで SMS 認証コードを送信した後のカウントダウン機能を実装します (ページの更新を無視し、ページが閉じられた場合はカウントダウン機能を実行しません)
  • JavaScript ベースの SMS ボタン カウントダウンの実装 (超シンプル)

<<:  IdeaでTomcatを起動したときに複数のリスナーが報告される問題を解決する

>>:  ローカルのMySQLをサーバーデータベースに移行する方法

推薦する

JavaScript キャンバスで動的な点と線の効果を実現

この記事では、動的な点と線の効果を実現するためのJavaScriptキャンバスの具体的なコードを参考...

MySQLはデータベースのN+1クエリ問題を解決します

導入HibernateやMyBatisなどのORMフレームワークでは、部門に関連付けられたユーザーオ...

uniappがインターフェースドメイン名を動的に取得する方法を分析する

背景インターフェイス ドメイン名はハードコードされておらず、動的に取得されます。具体的な実装は、静的...

CentOS 7 はネットワークカードを変更した後、インターネットにアクセスできません

不明なドメイン名 www.baidu.com を Ping するホストのIPアドレスを変更する右クリ...

フォーム送信時に追加のパラメータを渡すためのいくつかの一般的な方法

フォームを送信するときに、送信前に追加のパラメータが追加される状況が発生する場合があります。この問題...

Oracle の開閉の 4 つのモード

>1 データベースを起動するcmd コマンド ウィンドウで、「sqlplus」を直接入力して ...

div が contentEditable=true に設定されている場合、コンテンツをリセットした後にカーソルを配置することはできません。

最近、絵文字にコメントする機能が必要なコメント機能に取り組んでいたため、 contentEditab...

NginxはLua+Redisを使用してIPを動的にブロックします

1. 背景日常的なウェブサイトのメンテナンスでは、このような要件に頻繁に遭遇します。特定のクローラー...

ホストNginx + Docker WordPress Mysqlを設定するための詳細な手順

環境Linux 3.10.0-693.el7.x86_64 Docker バージョン 18.09.0...

MySQL 5.7 データベースのインストール手順の個人的な要約

1.mysql-5.7.19-winx64.zip(これは無料のインストールバージョンで、約318 ...

Vueはアンカー配置機能を実装します

この記事では、アンカー配置を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

Javascript における分割代入構文の詳細な説明

序文ES6 で初めて導入された「構造化代入構文」を使用すると、配列やオブジェクトの値を異なる変数に挿...

HTMLファイルで外部CSSファイルを導入する場合のパスの書き方について簡単にまとめます

1. 外部CSSファイルの基本スタイルをインポートする<link> タグを使用して外部ス...

HTML ページジャンプコード

次のコードを index.html などのデフォルトのホームページ ファイルとして保存し、ルート デ...

Linux mysql5.5 を mysql5.7 にアップグレードする手順と落とし穴

目次Linux MySQL 5.5 が MySQL 5.7 にアップグレードされました1. mysq...