我需要从我的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();
}
});
});
Run Code Online (Sandbox Code Playgroud)
我需要了解如何使用JQuery控制主html页面中的符号.
小智 8
当你在边缘程序之外时抓取符号要求你做的不仅仅是调用"符号".那么,让我带您了解如何抓住您的符号:
1st - 你必须得到具体成分的参考.这通常是#Stage元素上的类.如果你没有在Edge Animate中给它一个特定的名字,那么默认名称就像EDGE-1230930194一样奇怪.
var myAnim = AdobeEdge.getComposition("nameOfComposition");
Run Code Online (Sandbox Code Playgroud)
2nd - 你需要抓住特定的符号
var mySymbol = myAnim.getSymbols("nameOfSymbol")[0]; // Because it's in an array
Run Code Online (Sandbox Code Playgroud)
而且你有它!你有自己的象征.如果你想以反向播放它,那么你会这样做:
mySymbol.playReverse();
Run Code Online (Sandbox Code Playgroud)
为更精细的操作做更有趣的事情涉及抓住底层元素,如下所示:
var mySymbolElem = mySymbol.getSymbolElement();
Run Code Online (Sandbox Code Playgroud)
当然,你可以使用任何jQuery方法来搞乱它:
mySymbolElem.fadeOut(5000, function(){alert("alerts rox")});
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!