【发布时间】:2022-12-02 23:33:31
【问题描述】:
我实现了一个进度条,但我遇到了问题。
完成进度条应该需要 5 秒。我的问题是该值每秒更新一次,我希望它是连续的,没有任何停止。
HTML
<dx-progress-bar
#progressBar
[showStatus]="false"
id="progress-bar-status"
[rtlEnabled]="true"
[class.complete]="progressBar.value == maxValue"
[min]="0"
[max]="maxValue"
[value]="maxValue - seconds"
>
</dx-progress-bar>
.TS
seconds = 5;
maxValue = 5;
intervalId: number;
onButtonClick() {
this.seconds = 5;
this.intervalId = window.setInterval(() => this.timer(), 1000);
}
timer() {
this.seconds--;
if (this.seconds == 0) {
clearInterval(this.intervalId);
}
}
预期结果
【问题讨论】:
-
对于动画你应该看看
Window.requestAnimationFrame() -
您需要更改 css transition..example: .dx-trackbar-range { transition: width 3s ease-in-out !important; }
标签: javascript angular typescript devextreme