使用Shift键并单击以转到下一张幻灯片

时间:2014-10-08 13:40:41

标签: javascript jquery adobe-captivate

嘿伙计们,我把这些代码行作为javascript添加到了captivate中的点击框的成功:

document.onkeydown = function (e) {
    if (e.keyCode == 16) {
       document.Captivate.cpEISetValue('m_VarHandle.cpCmndGotoSlide', 5);
    }
};

它确实做得很好但是在第一次尝试之后即使即时通讯在另一张幻灯片上我按下shift键它也会转到幻灯片5 :(另一个问题是,如何在同一个按钮上设置mousedown和onkeyup事件。我尝试了什么如果我按下shift键并单击一个单击框,则跳转到下一张幻灯片。

编辑:新代码:

document.onmousedown = function (e) {
var currentSlide = document.Captivate.cpEIGetValue('m_VarHandle.cpInfoCurrentSlide');
      if(currentSlide == 5 && e.keyCode == 16){
          document.Captivate.cpEISetValue('m_VarHandle.cpCmndGotoSlide' , 5);
}
};

正如我认为的那样,当我点击它时应该触发该功能,BUUUT,不幸的是它不起作用......似乎Captivate不识别onmousedown事件:|

重新编辑:我想象一下如何让它发挥作用。这是代码:

document.onkeydown = function(e) {
var currentFrame = document.Captivate.cpEIGetValue('m_VarHandle.rdinfoCurrentFrame');
var currentSlide = document.Captivate.cpEIGetValue('m_VarHandle.cpInfoCurrentSlide');

      if(currentSlide == 5 && e.keyCode == 16){
          document.Captivate.cpEISetValue('m_VarHandle.rdcmndGotoFrameAndResume' , 491);

}
};

document.onkeyup = function(e) {
var currentSlide = document.Captivate.cpEIGetValue('m_VarHandle.cpInfoCurrentSlide');

      if(currentSlide == 5){
          document.Captivate.cpEISetValue('m_VarHandle.rdcmndGotoFrameAndResume' , 485);

}
};

现在一切都很完美!它正是我想要做的......但它仅适用于localhost ...只有当我在Captivate中按F12 :(如果我尝试运行导出的swf或html从captivate它粉碎:(((任何想法?

3 个答案:

答案 0 :(得分:0)

var slide = 4;
document.onkeydown = function (e) {
    if (e.keyCode == 16) {
       slide++;
       document.Captivate.cpEISetValue('m_VarHandle.cpCmndGotoSlide', slide);
    }
};

Bassically你想增加位置(cpEISetValue的第二个参数),在你的代码中,你总是把它设置为5.还要确保在它到达最大滑块位置时重置它。

答案 1 :(得分:0)

您可以点击点击内的SHIFT键:

var slide = 4;
$('body').click( function (e) {
    if (e.shiftKey) {
       slide++;
       document.Captivate.cpEISetValue('m_VarHandle.cpCmndGotoSlide', slide);
    }
});

check here

答案 2 :(得分:0)

如果您想使用Shift键设置点击,可以使用:

$(document).click(
  function(e){
    if(e.shiftKey){
      document.Captivate.cpEISetValue('m_VarHandle.cpCmndGotoSlide', 5);
    }
  }
);

与ctrlKey和altKey

相同

要改变页面,你需要一个像这样的控制变量:

var current_page = 1;

$(document).click(
  function(e){
    if(e.shiftKey){
      current_page++
      document.Captivate.cpEISetValue('m_VarHandle.cpCmndGotoSlide', current_page);
    }
  }
);

我认为这是您需要的最终代码(您可能需要将文档更改为您正在使用的ID或类#34; #lement_id"或" .element_class")