再帰に基づいてカウントダウン効果を実装する JS メソッド

高洛峰
リリース: 2016-12-05 11:12:12
オリジナル
1800 人が閲覧しました

この記事の例では、JS を使用して再帰に基づいたカウントダウン効果を実現する方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

イベント:

//发送验证码
$('.js-sms-code').click(function(){
    $(this).attr("disabled", "disabled").html("<span style=&#39;color:#666&#39;><span id=&#39;countdown&#39;>60</span>s 后再试</span>");
    countdown();
    var tel = $(&#39;#tel&#39;).val();
    $.ajax({
      url: "{sh::U(&#39;Home/sendSmscode&#39;)}",
      type:&#39;POST&#39;,
      dataType:"json",
      data: {tel: tel},
      success: function() {
      },
      error: function() {
        $(&#39;.js-help-info&#39;).html("请求失败");
      }
    });
})
ログイン後にコピー

コメント: ここのカウントダウン方法は美しいです。

コードを見てください:

function countdown() { // 递归
  setTimeout(function() {
    var time = $("#countdown").text();
    if (time == 1) {
      $(&#39;.js-sms-code&#39;).removeAttr("disabled");
      $(&#39;.js-sms-code&#39;).html("发送验证码");
    } else {
      $("#countdown").text(time - 1);
      countdown();
    }
  }, 1000);
}
ログイン後にコピー

コメント: 時間が 1 に等しくない場合は、呼び出しを続けて、時間から 1 秒を減算します。 setTimeout も非常に重要です。時間が 1 になるまで、無効を解除し、内容を「確認コードの送信」に変更します。


関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート