javascript - Adobe Edge 如何通过代码禁用自动播放?

标签 javascript events adobe-edge

我有一个默认情况下自动播放的 Adob​​e Edge 动画。

有没有办法通过 JavaScript 代码禁用或阻止自动播放?

例如,通过在使用 AdobeEdge.loadComposition() 加载合成时传递一些选项,或者通过设置一些事件监听器来执行此操作?

P.S.我无法在 Adob​​e Edge 中编辑动画本身

最佳答案

我通过添加一个 compositionReady 监听器解决了这个问题。该事件发生在自动播放之前,因此我可以影响动画的自动播放设置。

我在调用 AdobeEdge.loadComposition() 后将代码放在下面。这里超时设置为2000毫秒。该解决方案适用于具有子符号的动画(使用 sym.ci 来保存对子符号的引用)。

AdobeEdge.bootstrapCallback(function(compId){
    AdobeEdge.Symbol.bindElementAction(compId, 'stage', 'document', 'compositionReady', function(sym, e){
        sym.stopAll(-1, false);
        sym.setAutoPlay(false);
        if (sym.ci) {
            for(var i = 0; i < sym.ci.length; ++i) {
                sym.ci[i].setAutoPlay(false);
            }
        }
        var playDelay = setTimeout(function(){
            sym.playAll();
        }, 2000);
    });
});

关于javascript - Adobe Edge 如何通过代码禁用自动播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30978690/

相关文章:

javascript - Google Apps 脚本 UrlFetchApp 异常

javascript - 渲染整个文档后的回调,包括 iframe 中的 AJAX (js/jquery)

javascript - adobe edge/javascript 中的 if 语句

javascript - 在静态 html 页面中包含一个 json 文件(不托管在服务器上)

javascript - 在新窗口中弹出一个 div 但保留 css 和脚本

Javascript 匹配类似于 sql like 运算符

c# - 控制键加鼠标滚轮

javascript - 为什么这个 jQuery 事件会运行两次?

javascript - Adobe边缘: Use global javascript variable to control active content

html - Adobe Edge Code 和 Brackets 有什么区别?