Adobe Edge:从html页面控制特定符号

时间:2012-11-25 22:19:25

标签: jquery adobe-edge

我需要控制我的一个边缘符号,来自我的 HTML页面(index.html - 而不是edgeActions.js页面)

例如,我有一个图像符号:“sym1”,我想从主html页面隐藏它。 我试过了:

sym。$(“sym1”)。hide();

但它不起作用..

这是我能使它工作的唯一方法(仅限edgeActions页面):

  Symbol.bindElementAction(compId, symbolName, "document", "compositionReady", function(sym, e) {
         var ex1 = sym.$( "sym1" );         

         yepnope({
            both: [
                "libs/jquery-ui.min.js",
                "libs/jquery-ui.css",
            ],
            callback: function() {

         ( ex1 ).hide();
            }
         });

      });

我需要了解如何使用JQuery从主html页面控制符号。

2 个答案:

答案 0 :(得分:8)

当你在边缘程序之外时抓取符号要求你做的不仅仅是调用“符号”。那么,让我带您了解如何抓住您的符号:

1st - 你必须得到具体构成的参考。这通常是#Stage元素上的类。如果你没有在Edge Animate中给它一个特定的名字,那么默认名称就像EDGE-1230930194一样奇怪。

var myAnim = AdobeEdge.getComposition("nameOfComposition");

2nd - 您需要获取特定符号

var mySymbol = myAnim.getSymbols("nameOfSymbol")[0]; // Because it's in an array

而且你有它!你有自己的象征。如果你想反向播放,那么你可以这样做:

mySymbol.playReverse();

对于更精细的操作,更有趣的事情涉及抓住底层元素,如下所示:

var mySymbolElem = mySymbol.getSymbolElement();

当然,你可以使用任何jQuery方法来搞乱它:

mySymbolElem.fadeOut(5000, function(){alert("alerts rox")});

希望有所帮助!

答案 1 :(得分:0)

在Edge渲染到html页面之后,所有符号将与新的id名称合并,并通过“_”连接。例如,如果要更改名为“thumb01”的符号的图像:

$('#Stage_thumb01').css('background-image',  'url('thumb_img_02.jpg')');

“Stage”是Edge html的根默认容器