내 타이머가 0이되면 함수를 호출 해

Jeff Burghess

다음과 같은 타이머 기능이 있습니다 (방금 jsfiddle을 가져 왔습니다).

function countdown( elementName, minutes, seconds )
{
    var element, endTime, hours, mins, msLeft, time;

    function returnDate(){
    return Number(new Date);
    }

    function twoDigits( n )
    {
        return (n <= 9 ? "0" + n : n);
    }

    function updateTimer()
    {
        msLeft = endTime - (returnDate());
        if ( msLeft < 1000 ) {
            element.innerHTML = "0:00";
        } else {
            time = new Date( msLeft );
            hours = time.getUTCHours();
            mins = time.getUTCMinutes();
            element.innerHTML = (hours ? hours + ':' + twoDigits( mins ) : mins) + ':' + twoDigits( time.getUTCSeconds() );
            setTimeout( updateTimer, time.getUTCMilliseconds() + 500 );
        }
    }

    element = document.getElementById( elementName );
    endTime = (+new Date) + 1000 * (60*minutes + seconds) + 500;
    updateTimer();
}

함수를 호출하고 다음과 같이 2 분으로 카운트 다운하도록 설정합니다.

$(".btn-start").click(function(){
 countdown("countdown-2-minutes",2,0);

});

countdown-8-minutes타이머 countdown-2-minutes가 0 도달하면 즉시 시작하려는 ID가있는 다른 요소 가 있습니다. 어떻게해야합니까? 첫 번째 요소의 html이 "0:00"을 읽을 때 모니터링하는 것이 괜찮은 방법이라고 생각하지만 구현 방법을 정확히 모릅니다.

크리스 오 켈리

제가 제안하는 것은 다음과 같습니다. 먼저 countdown()콜백 매개 변수를 허용하도록 함수를 변경합니다 .

function countdown( elementName, minutes, seconds, callback )
{
    var element, endTime, hours, mins, msLeft, time;

    function returnDate(){
    return Number(new Date);
    }

    function twoDigits( n )
    {
        return (n <= 9 ? "0" + n : n);
    }

    function updateTimer()
    {
        msLeft = endTime - (returnDate());
        if ( msLeft < 1000 ) {
            element.innerHTML = "0:00";
            if (typeof callback === 'function') {
                callback.call()
            }
        } else {
            time = new Date( msLeft );
            hours = time.getUTCHours();
            mins = time.getUTCMinutes();
            element.innerHTML = (hours ? hours + ':' + twoDigits( mins ) : mins) + ':' + twoDigits( time.getUTCSeconds() );
            setTimeout( updateTimer, time.getUTCMilliseconds() + 500 );
        }
    }

    element = document.getElementById( elementName );
    endTime = (+new Date) + 1000 * (60*minutes + seconds) + 500;
    updateTimer();
}

그런 다음 초기 호출과 함께 해당 콜백을 전달하십시오.

$(".btn-start").click(function(){
    countdown("countdown-2-minutes",2,0, function(){countdown("countdown-8-minutes",8,0);});
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

함수 내에서 함수를 호출하면 0이 반환됩니다.

분류에서Dev

useEffect 내부 함수가 deepLink에 대해 호출되지 않음

분류에서Dev

이것은 호출에 의해 호출 될 때 내부 함수입니다.

분류에서Dev

MCPL 함수 호출 이해

분류에서Dev

타이머 타이머 Elapsedevent 내부 메서드 호출

분류에서Dev

함수 내부에 메모리를 할당해야합니까 아니면 장소 함수가 호출 되었습니까?

분류에서Dev

동일한 함수 [Session Timeout]을 통해 타이머를 표시하는 JavaScript 함수를 호출하기 전에 레이블을 지 웁니다.

분류에서Dev

함수를 비동기로 실행하면 해당 함수 내에서 비동기 WCF 호출이 부적절하게 실행됩니다.

분류에서Dev

매개 변수가있는 함수 내에서 변수 함수를 호출하려면 어떻게해야합니까?

분류에서Dev

함수가 호출되면 unique_lock이 잠금 해제됩니까?

분류에서Dev

onPress {} 내부의 차이 호출 함수

분류에서Dev

파이프 내에서 함수 호출

분류에서Dev

어떤 이유로 누군가 함수 내에서 함수를 호출하는 조건을 호출할까요?

분류에서Dev

나는이 타이머의 운동 반응 내 타이머를 재설정하여 문제를 가지고 button.I하여 다시 해결해야

분류에서Dev

내 타이머를 멈출 수없는 이유

분류에서Dev

내부 libc 함수 호출이 .plt를 거쳐야합니까?

분류에서Dev

타이머가 트리거 한 하나에서 다른 Azure 함수 호출

분류에서Dev

프로토 타입 함수 onclick 이벤트 내에서 프로토 타입 함수를 호출하는 방법

분류에서Dev

함수 내에서 함수를 호출하기 위해 missing ()으로 처리되는 누락 된 인수 처리

분류에서Dev

함수 호출의 Python 이해 (PEP 448)

분류에서Dev

함수 내에서 함수를 호출 할 때 이것의 바인딩

분류에서Dev

SQL Server DB 액세스를 위해 내 API를 직접 호출하거나 내 Azure API를 사용하는 것이 더 나은 Azure 함수

분류에서Dev

클래스를 사용한 Ruby on Rails 함수 호출 이해

분류에서Dev

데이터를보기 위해 ajax 자체 호출 함수

분류에서Dev

내 jquery를 통해 "응답"이 표시 / 호출되는 횟수를 어떻게 추적 할 수 있습니까?

분류에서Dev

IllegalStateException은 '내용이 변경되면 notifyDataSetChanged ()를 호출합니다.'

분류에서Dev

자바 스크립트를 사용하여 PHP에서 타이머가 0에 도달하면 메소드가 호출되지 않습니다.

분류에서Dev

내 UIView 하위 클래스에 모든 속성이 설정된 후에 만 함수를 호출하려면 어떻게해야합니까?

분류에서Dev

Linux 쉘이 달러 연산자를 통해 함수를 호출하지 못함

Related 관련 기사

  1. 1

    함수 내에서 함수를 호출하면 0이 반환됩니다.

  2. 2

    useEffect 내부 함수가 deepLink에 대해 호출되지 않음

  3. 3

    이것은 호출에 의해 호출 될 때 내부 함수입니다.

  4. 4

    MCPL 함수 호출 이해

  5. 5

    타이머 타이머 Elapsedevent 내부 메서드 호출

  6. 6

    함수 내부에 메모리를 할당해야합니까 아니면 장소 함수가 호출 되었습니까?

  7. 7

    동일한 함수 [Session Timeout]을 통해 타이머를 표시하는 JavaScript 함수를 호출하기 전에 레이블을 지 웁니다.

  8. 8

    함수를 비동기로 실행하면 해당 함수 내에서 비동기 WCF 호출이 부적절하게 실행됩니다.

  9. 9

    매개 변수가있는 함수 내에서 변수 함수를 호출하려면 어떻게해야합니까?

  10. 10

    함수가 호출되면 unique_lock이 잠금 해제됩니까?

  11. 11

    onPress {} 내부의 차이 호출 함수

  12. 12

    파이프 내에서 함수 호출

  13. 13

    어떤 이유로 누군가 함수 내에서 함수를 호출하는 조건을 호출할까요?

  14. 14

    나는이 타이머의 운동 반응 내 타이머를 재설정하여 문제를 가지고 button.I하여 다시 해결해야

  15. 15

    내 타이머를 멈출 수없는 이유

  16. 16

    내부 libc 함수 호출이 .plt를 거쳐야합니까?

  17. 17

    타이머가 트리거 한 하나에서 다른 Azure 함수 호출

  18. 18

    프로토 타입 함수 onclick 이벤트 내에서 프로토 타입 함수를 호출하는 방법

  19. 19

    함수 내에서 함수를 호출하기 위해 missing ()으로 처리되는 누락 된 인수 처리

  20. 20

    함수 호출의 Python 이해 (PEP 448)

  21. 21

    함수 내에서 함수를 호출 할 때 이것의 바인딩

  22. 22

    SQL Server DB 액세스를 위해 내 API를 직접 호출하거나 내 Azure API를 사용하는 것이 더 나은 Azure 함수

  23. 23

    클래스를 사용한 Ruby on Rails 함수 호출 이해

  24. 24

    데이터를보기 위해 ajax 자체 호출 함수

  25. 25

    내 jquery를 통해 "응답"이 표시 / 호출되는 횟수를 어떻게 추적 할 수 있습니까?

  26. 26

    IllegalStateException은 '내용이 변경되면 notifyDataSetChanged ()를 호출합니다.'

  27. 27

    자바 스크립트를 사용하여 PHP에서 타이머가 0에 도달하면 메소드가 호출되지 않습니다.

  28. 28

    내 UIView 하위 클래스에 모든 속성이 설정된 후에 만 함수를 호출하려면 어떻게해야합니까?

  29. 29

    Linux 쉘이 달러 연산자를 통해 함수를 호출하지 못함

뜨겁다태그

보관