在Angular Js中重放ui视图加载的边缘动画

时间:2014-12-11 12:19:38

标签: angularjs animation adobe-edge

我正在用angularJS构建一个项目。我使用ui-router进行视图和嵌套视图。 所以我有一个index.html,只有标题,页脚和“通用”ui-view,我在那里异步加载Home-view,Contacts-view,About-view等。

在“主页”页面和“关于”页面上有两种不同的Adobe Edge动画。 当我第一次加载它们时它们就像魅力一样,但是当我浏览网站然后我回到家里或者关于页面时,没有任何东西出现。

我尝试过以不同方式加载边缘脚本

    带有脚本标记的index.html头文件中的
  • in angular directive
  • 在控制器中
  • 在路由过程中通过ui-router
  • 的resolve选项

这些策略都没有解决问题。动画仍然只播放一次。

最后,我决定潜入由Adobe Edge自动制作的js代码(我不是设计师,我不知道如何使用Edge创建动画)。

我发现Edge创建了一个AdobeEdge对象并将其绑定到窗口...然后通过jQuery匿名函数中的事件处理程序调用动画

(function($, Edge, compId){
   ....

   $(window).ready(function() {
        Edge.launchComposition(compId);
   });

})(jQuery, AdobeEdge, "EDGE-123456");

在官方的Adobe文档上(真的很糟糕!)有一些方法可以调用AdobeEdge对象......

我试图在家庭控制器中插入以下行

$window.AdobeEdge.getComposition("EDGE-123456").getStage().play();

但不起作用。

浪费了一整天后,我很沮丧,我讨厌谁设想了Adobe Edge脚本,总体而言我需要帮助以正确的方式解决它(实施可怕的解决方法)。

谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用playAll()。我想这会立即播放所有符号时间轴(由于文档太模糊,很难确定),但我发现它适用于我的目的。

$window.AdobeEdge.getComposition("EDGE-123456").getStage().playAll();