простой таймер обратного отсчета в JavaScript - PullRequest
43 голосов
/ 01 апреля 2011

Я ищу простой таймер обратного отсчета в JavaScript.Все сценарии, которые я нахожу, «все поют все танцуют».Я просто хочу jQuery бесплатный, минимальный таймер обратного отсчета, который отображается в минутах и ​​секундах.Спасибо.

Ответы [ 13 ]

0 голосов
/ 06 февраля 2017

Вот версия React (Native):

import React, { Component } from 'react';
import {
    View,
    Text,
} from 'react-native';

export default class CountUp extends Component  {

    state = {
        seconds: null,
    }

    get formatedTime() {
        const { seconds } = this.state;

        return [
            pad(parseInt(seconds / 60)),
            pad(seconds % 60),
        ].join(':');
    }

    componentWillMount() {
        this.setState({ seconds: 0 });
    }

    componentDidMount() {
        this.timer = setInterval(
            () => this.setState({
                seconds: ++this.state.seconds
            }),
            1000
        );
    }

    componentWillUnmount() {
        clearInterval(this.timer);
    }

    render() {
        return (
            <View>
                <Text>{this.formatedTime}</Text>
            </View>
        );
    }
}

function pad(num) {
    return num.toString().length > 1 ? num : `0${num}`;
}
0 голосов
/ 16 июня 2016

Просто хотел положить свои 2 цента. Я изменил функцию @Ajay Singh для обработки обратного отсчета и отсчета Вот фрагмент из jsfiddle.

var countDown = Math.floor(Date.now() / 1000)
runClock(null, function(e, r){ console.log( e.seconds );}, countDown);
var t = setInterval(function(){
  runClock(function(){
    console.log('done');
    clearInterval(t);
  },function(timeElapsed, timeRemaining){
    console.log( timeElapsed.seconds );
  }, countDown);
}, 100);

https://jsfiddle.net/3g5xvaxe/

0 голосов
/ 01 апреля 2011

Проверьте эти решения:

Вычислите прошедшее время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...