(Captivate) 使用 JavaScript 隐藏对象

(Captivate) Hide object using JavaScript

我正在尝试使用 Captivate JavaScript window 在 Captivate 中隐藏和显示对象,但尽管感觉应该很容易做到,但我无法显示我的对象!

到目前为止,我已经尝试了以下方法:

var slideNum = window.cpAPIInterface.getCurrentSlideIndex();   // to get current slide number

var CC = $("#CC_text_" + slideNum);      // to get a proper object name as I have similar objects on every page

之后我尝试了标准的 JS 方法,例如 CC.hide();尝试改变可见性等,但没有任何效果。有没有人以前尝试过这样的事情?

谢谢!

我 运行 今天才进入这个问题,真幸运。问题是 $("#CC_text_" + slideNum); returns accessibility object 在你之上 object 你想要的。实际的 object 是可访问性 object 下方的 canvas 元素,并且方便地具有相同的 id + "c"。所以你会想要:

$("#CC_text_" + slideNum + "c");

此外,似乎 object 隐藏在输出(失败标题等)中的设置为 display: block; visibility: hidden;,因此 .show() 将不起作用,您需要使用 .css('visibility', 'visible')

到 show/hide 项目中包含的通过 javascript 的任何对象(即,您已通过操作 window 输入),我总是使用:

cp.hide('myText'); // obviously substitute show with hide function

请参考https://helpx.adobe.com/captivate/using/common-js-interface.html

它清楚地写着:

要隐藏任何对象,请使用 cp.hide("object_name");

要显示任何对象,请使用 cp.show("object_name");

刚找到这个。母版幻灯片上的对象,例如可以使用 cp.show("objectname"); 访问导航。 / cp.hide("对象名称");虽然我看到播放栏按钮有一些奇怪的行为(它们会隐藏但一旦隐藏就不会显示)。

您可以使用 JQuery 的“开头为”选项:

 $(['id^="CC_text_"']);