이 기사의 예에서는 JS가 재귀를 기반으로 카운트다운 효과를 구현하는 방법을 설명합니다. 참고하실 수 있도록 모두와 공유해 주세요. 자세한 내용은 다음과 같습니다.
이벤트:
//发送验证码 $('.js-sms-code').click(function(){ $(this).attr("disabled", "disabled").html("<span style='color:#666'><span id='countdown'>60</span>s 后再试</span>"); countdown(); var tel = $('#tel').val(); $.ajax({ url: "{sh::U('Home/sendSmscode')}", type:'POST', dataType:"json", data: {tel: tel}, success: function() { }, error: function() { $('.js-help-info').html("请求失败"); } }); })
댓글: 카운트다운 방식이 아름답다.
코드 보기:
function countdown() { // 递归 setTimeout(function() { var time = $("#countdown").text(); if (time == 1) { $('.js-sms-code').removeAttr("disabled"); $('.js-sms-code').html("发送验证码"); } else { $("#countdown").text(time - 1); countdown(); } }, 1000); }
댓글: 시간이 1이 아닌 경우 계속 호출하여 1초를 뺍니다. 시간. setTimeout도 매우 중요합니다. 시간이 1로 줄어들 때까지 비활성화를 해제하고 내용을 '인증코드 전송'으로 변경합니다.