【发布时间】:2021-06-14 18:36:56
【问题描述】:
我想在 blazor 中创建渐变效果,例如 https://gradienta.io/editor 移动角度滑块。 我想通过使用 task.delay 函数来做到这一点,但只显示了 1 和 3,我在这里缺少的是 2 没有显示。 最终我想把它放在一个循环中,以设置运动的渐变。
<div class="box-size" style=@myStyle>
@content
</div>
}
@code {
public string myStyle = "";
public string content = "";
protected override async Task OnInitializedAsync()
{
myStyle = "background-image: linear-gradient(80deg, #FF0055 0%, #000066 100%)";
content = "1";
await Task.Delay(5000);
myStyle = "background-image: linear-gradient(160deg, #FF0044 0%, #000066 100%)";
content = "2";
await Task.Delay(5000);
myStyle = "background-image: linear-gradient(240deg, #FF0011 0%, #000066 100%)";
content = "3";
}
【问题讨论】:
-
可能需要利用
StateHasChanged,但您是否有理由不使用 CSS@keyframes? -
只是想尝试一下 blazor 和异步任务。看看是否可以对渐变 css 进行动画处理。
-
OnInitalized 是一个非常奇怪的地方来放置一些活跃的东西。尝试不同的事件,或在事件处理程序中运行您的代码。另外,如果您正在制作动画,我希望您使用的是 WASM。如果您使用的是服务器,那么它很可能在家里工作得很好,然后由于 ping 问题而变得非常粗糙。
标签: c# css async-await blazor