当前位置: 首页 > 知识库问答 >
问题:

如何在vanilla JS/TS(Angular)中重启动画并支持IOS

白迪
2023-03-14

嘿,伙计们,我正在尝试创建点击底部,用户可以点击它和动画重新启动,因为我理解这是不可能的,我们需要销毁动画和重新读取它。所以我一开始试着用这种方法

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

谢谢你们!!

共有1个答案

梁福
2023-03-14

您可以使用toggle在JavaScript中切换类。

const element = document.getElementById("logo");

// in your click event
element.classList.toggle('run-animation');

 类似资料:
  • 我试图添加一个按钮点击涟漪动画。我确实喜欢下面的内容,但它需要从版本到21。 涟漪xml 按钮 我想让它向下兼容设计库。 如何做到这一点?

  • 问题内容: Visual Studio 2017中是否有一种方法可以自动为asp.net核心 Angular 项目启用Docker支持?创建新选项时,该选项被禁用。它仅适用于 Web应用程序(MVC) 。 创建项目后,我可以为角度项目启用Docker支持(项目->添加-> Docker支持),但是当我启动应用程序时,出现一个异常,提示node.js不可用。 发生System.AggregateEx

  • 问题内容: 我需要使用Selenium测试JS地理定位功能,并且正在使用chromedriver在最新的Chrome上运行测试。 现在的问题是,Chrome浏览器提示我在测试过程中启用Geolocation,而且我不知道如何在运行时单击该小条,因此我急切地寻找一种方法来通过某些选项或触发器启动chromedriver和chrome默认情况下启用此功能。我在这里只能找到如何完全禁用地理位置。 我该如

  • 我的应用程序的Thymeleaf配置设置为: OS(CentOS 7)默认编码是UTF-8,所有生成的文件都使用UTF-8编码。我似乎仍然不能正确地显示字符。我尝试了一堆在这里找到的建议,但没有用。 根据这里的一些建议,我还尝试在Spring Security配置中在之前设置。此外,该应用程序还保存了带有奇怪字符的数据。 我的securitu配置从以下内容开始: 我错过了什么?

  • 我使用spring-boot-starter-data-solr,并希望利用Spring Data Solr的schmea cration支持,如文档中所述: 每当刷新应用程序上下文时,自动架构填充都会检查您的域类型,并根据属性配置将新字段填充到索引中。这要求 solr 在无架构模式下运行。 但是,我无法实现这一目标。据我所知,Spring启动器不会在@EnableSolrRepositories

  • 问题内容: 我使用 动画矢量 从 支持库23.2.0 ,就像这样: 我正在尝试设置动画“ pathData ”(将行彼此变形)。我的代码如下所示。 drawable / ic_done.xml: drawable / ic_done_animated.xml: 动画师/tick_path_animation.xml: Java代码: 它在 API级别21的 较新设备上运行良好,但在 API级别16