如何创建Angular 5/6/7逆时针倒数(毫秒)?

时间:2018-12-22 09:48:15

标签: angular typescript momentjs

我们如何使用Angular 5/6/7创建一个AntiClock明智的倒数计时。

外汇(倒计时(以毫秒为单位)) 60.000 (60秒)....逆时针移动 外汇( 42.526 毫秒)。

下面的代码通过刷新间隔1秒来提供输出,我们的代码需要间隔以毫秒为单位,如上面的示例所示。

谢谢

private _trialEndsAt;
private _diff: number;
private _days: number;
private _hours: number;
private _minutes: number;
private _seconds: number;
private _milliseconds: number;

ngOnInit() {
    this._trialEndsAt = "2018-12-28";
    Observable.interval(10).map((x) => {
        this._diff = Date.parse(this._trialEndsAt) - Date.parse(new Date().toString());
    }).subscribe((x) => {
        this._days = this.getDays(this._diff);
        this._hours = this.getHours(this._diff);
        this._minutes = this.getMinutes(this._diff);
        this._seconds = this.getSeconds(this._diff);
        this._milliseconds = this.getMilliseconds(60000);
    });
}

getDays(t){
    return Math.floor( t/(1000*60*60*24) );
}

getHours(t){
    return Math.floor( (t/(1000*60*60)) % 24 );
}

getMinutes(t){
    return Math.floor( (t/1000/60) % 60 );
}

getSeconds(t){
    return Math.floor( (t/1000) % 60 );
}

getMiliseconds(t){
    return Math.floor( (t) % 1000 );
}

1 个答案:

答案 0 :(得分:1)

将时间间隔更改为小于1000的时间。

Observable.interval(x).map(

您需要使用介于0到1000之间的值来替换 x 。该值是刷新间隔。

放置函数数毫秒

getMiliseconds(t){
   return Math.floor( (t) % 1000 );
}

请检查:https://stackblitz.com/edit/angular-78vx6q