微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何使用Angular暂停setInterval?

我有一个播放和一个暂停按钮:

<div *ngIf="!playToggle">
    <button (click)="playTimeLine(); playToggle = true">
        <i class="fa fa-play" aria-hidden="true"></i>
    </button>
</div>
<div *ngIf="playToggle">
    <button (click)="pauseTimeLine(); playToggle = false">
        <i class="fa fa-pause" aria-hidden="true"></i>
    </button>
</div>

如果单击播放按钮,则调用playTimeLine函数

currentTime = 0;

playTimeLine(value) {

    setInterval(() => {
        this.currentTime = this.currentTime + 10;
        console.log(this.currentTime);
    }, 1000);
}

我想添加暂停功能,暂停间隔.但它也可以从暂停时恢复它.

解决方法:

假设您要暂停为currentTime添加时间,而不是实际暂停间隔:

在类中添加一个声明间隔的属性

interval;

将间隔存储在播放功能属性中:

this.interval = setInterval(() => {
    this.currentTime = this.currentTime + 10;
    console.log(this.currentTime);
}, 1000);

在暂停功能中,清除间隔:

pauseTimeLine(value) {
    clearInterval(this.interval);
}

编辑:请注意,这不是非常精确的时间,但根据您的代码的目的,它可以是可行的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐