【发布时间】:2021-03-24 22:06:04
【问题描述】:
大家好,我正在尝试创建点击底部,用户可以点击它并重新启动动画 据我了解这是不可能的,我们需要销毁动画并再次阅读。 所以我一开始是这样尝试的
HTML
<ul> ...
TS
const element: HTMLUListElement = document.querySelector('.packages>.ulWrapper>ul');
element.style.animation = 'none';
element.offsetHeight; /* trigger reflow */
element.style.animation = null;
它只在我的桌面上工作,所以我找到了另一种方法
HTML
<ul id="logo" class="run-animation"> ...
TS
var element = document.getElementById("logo");
// -> removing the class
element.classList.remove("run-animation");
element.offsetHeight;
// -> and re-adding the class
element.classList.add("run-animation");
它再次在我的桌面上完美运行,但我也需要它在移动设备上运行
我该怎么做?我正在使用 Angular-9
谢谢大家!!
@AshishYadav 我添加了一个link
【问题讨论】:
-
您能否附上您的问题的工作演示,因为它是动画内容,它确实有助于我们分析。
-
我在我的项目中这样做了youtube.com/watch?v=sVZX0XvEBhk&t=892s
-
你的例子可能会更好。可以尝试在 CodeSandbox 之类的平台上上传吗?
-
我看到您在再次设置动画之前使用读取 offsetHeight 作为强制回流的努力。这个 [link] stackoverflow.com/questions/60361968/… 有一些讨论似乎表明 Safari 的行为可能与 Chrome/FF 不同。
-
你在使用角度吗?这不是 Angular 中应该使用动画的方式
标签: javascript html css angular css-animations