当前位置: 首页 > 面试题库 >

AngularJS动画完成后运行代码

堵毅然
2023-03-14
问题内容

我有一个其可见性由切换的元素ng-show。我还在这个元素上使用CSS动画-来自ng-animate的自动动画-对其条目进行动画处理。

元素将包含图像或视频。

在元素包含视频的情况下,我想播放它,但是在完成动画制作之前,我不想播放视频。

因此,我想知道是否有一种简单的方法可以将回调绑定到AngularJS中 CSS 动画的末尾?

该文档引用了a
doneCallback,但我看不到指定它的方法…

一种解决方法(?)我想到的是$watch荷兰国际集团element.hasClass("ng-hide-add- active"),并等待它用火(true, false),这意味着它只是被删除..

有更好的方法吗?


问题答案:

@ michael-charemza答案对我来说很棒。如果您使用的是Angular
1.3,则它们会稍微改变一下诺言。我对此稍作停留,但这是使它起作用的更改:

if (show) {
  $animate.removeClass(element, 'ng-hide').then(scope.afterShow);
}
if (!show) {
  $animate.addClass(element, 'ng-hide').then(scope.afterHide);
}

Plunker:代码示例



 类似资料:
  • 问题内容: 在控制器中,我使用$ http或$ resource服务获取一些JSON数据。然后,我将此数据写入$ scope,AngularJS更新页面的HTML结构。我的问题是我需要知道用Angular 指令填充的列表(我的意思是HTML DOM元素)的新大小(宽度和高度)是多少。因此,我必须在Angular完成DOM结构更新后立即运行javascript代码。正确的做法是什么?我过去四个小时都

  • 问题内容: 我正在使用AngularJS,并希望在动画制作完成后得到通知。我知道可以使用像这样的javascript定义的动画来完成此操作,但是我很好奇我是否可以不用javascript来做到这一点。 问题: 是否可以使用角度 ng-enter 和 ng-leave css- transitions并指定完成的回调?我猜该事件已被触发,因此应该有一种方法可以执行此操作。 我有这个: HTML: C

  • 问题内容: 我正在尝试为UIImageView设置动画,然后在动画完成后隐藏图像视图。但是,在动画完成之前imageview被隐藏了。我看过类似的问题,他们建议在完成后在动画代码中实现动画侦听器或执行.hidden代码,但是我不确定如何在下面的shockView()函数中影响此效果。 仅在动画完成后,如何显示摇动动画并隐藏图像视图? 使用以下代码调用动画: 动画功能本身如下所示: 问题答案: 动画

  • 我有一个动画块来执行一个简单的基于变换的动画,在完成时从它的超级视图中删除有问题的视图。 然后我使用Tech Q详述的代码 但是,此代码不会阻止完成代码的执行。因此,为了防止代码执行,我将完成代码更改为: 当检查finished==TRUE时,动画块暂停时,将阻止执行完成代码。如果在“取消暂停”动画之前超过持续时间,则不会执行完成代码。即在本例中,msgView仍保留在superview中。 是否

  • 问题内容: 总的来说,我对Swift和Xcode还是比较陌生,并且发现很多困难要设法解决。 我正在开发一个利用后端服务器的应用程序。为了不阻塞主线程,每当应用程序从服务器下载任何内容时,它都会异步地在其他线程上完成。但是,其余代码将继续在主线程上执行,并且当应该从服务器下载的数据尚未下载时,它将崩溃。我想知道如何在异步函数完成后调用函数来运行,这对于单独文件中的函数必须完成。 我读过闭包可能对此有

  • 问题内容: 因此,我一直在尝试Gulp,看看它在速度上与Grunt相比如何,我对结果印象深刻,但是我有一件事我不知道如何在Gulp中进行。 因此,我有这个任务来缩小HTML: buildMetaData对象具有我需要的自定义功能,以及为什么不能使用像gulp- changed这样的插件。我要弄清楚的是,在缩小完成后如何(如果可能)运行代码块来处理所有文件并成功运行。gulp有可能发生这种情况吗?