我正在努力使用这款Edge Animate作品几个小时:
我尝试创建的是一个字符选择(多个图像),它会在每个人的语音气泡(符号)中触发不同的文本消息。
除了单个文本,我还有2个输入字段(select2.js),它们位于文本跨度之间。为此,我必须在符号的creationComplete操作中生成文本范围和输入字段,如下所示:
perscontent.html('<span style="font-weight: bold;">'+perstext[0]+'<br></span>'+
'<span>'+perstext[1]+'</span>'+
'<input id="tech" class="bubbleinput" style="margin-top: 5px" type="text" data-position="top" placeholder="mit der Technologie:"></input>'+
'<span>'+perstext[2]+'</span>'+
'<input id="probl" class="bubbleinput" style="margin-top: 5px" type="text" data-position="top" placeholder="das Problem/Produkt:"></input>'+
'<span>'+perstext[3]+'</span></p> ');
正如您所看到的那样,数组变量perstext
根据阶段变量“perstoggle”的值来获取另一个数组(包含单个文本)的值在动作&gt;阶段设置compositionReady :sym.setVariable("perstoggle", "pers1select");
►这就是疼痛开始的地方!我无法阅读perstoggle
:
var cur = sym.getComposition().getStage().getVariable("perstoggle");
console.log( "=> ", cur);
在控制台日志中显示“未定义”...任何建议?非常感谢!
// EDIT
另一方面,如果我从回调函数内部读取perstoggle
阶段变量,它会突然在控制台上显示正确的值(“pers1text”)。但是我的jquery select2输入没有被加载:
yepnope({
both: [
"select2.min.js",
"select2.css",
"pagestyle.css"
],
callback: function(){
$("#tech").select2(......);
$("#probl").select2(.....);
var cur = sym.getComposition().getStage().getVariable("perstoggle");
console.log( "=> ", cur);
switch (cur){
case ("pers1select"): var perstext = pers1text;
break;
default : var perstext = pers2text;
}
答案 0 :(得分:1)
为什么不保持简单?
(简单示例)
打开边缘动画中的代码窗口 (菜单 - &gt;窗口&gt;代码) 点击舞台 并添加以下代码:
var perstext;
perstext = "begin";
var foo = function() {
$("#Stage_Rectangle").html('<span style="font-weight:bold;">'+perstext+'</span>');
};// will set the text on div Retan
这将使函数foo更新perstext全局。
首先你需要让它在开始时运行。 所以要做那个添加阶段&gt; compositionready并添加以下代码:
foo();
这将在开头运行函数foo
并将其更改为其他内容在div或图像上添加click事件 并添加此代码:
perstext = "i changed!";
foo();
这将改变perstext并通过foo();
再次更新它