Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用shift键并单击转到下一张幻灯片_Javascript_Jquery_Adobe Captivate - Fatal编程技术网

Javascript 使用shift键并单击转到下一张幻灯片

Javascript 使用shift键并单击转到下一张幻灯片,javascript,jquery,adobe-captivate,Javascript,Jquery,Adobe Captivate,嗨,伙计们,我在captivate中成功地点击了一个点击框后,添加了以下代码行作为javascript: document.onkeydown = function (e) { if (e.keyCode == 16) { document.Captivate.cpEISetValue('m_VarHandle.cpCmndGotoSlide', 5); } }; 它做的很好,但在第一次尝试后,即使我在另一张幻灯片上,并且我按下shift键,它也会转到幻灯片5:另

嗨,伙计们,我在captivate中成功地点击了一个点击框后,添加了以下代码行作为javascript:

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);
}
};
正如我所想,当我点击它的时候,应该启动这个功能,但是不幸的是它不工作。。。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);

}
};
现在一切都很完美!这正是我想做的。。。但它只在本地主机上工作。。。只有当我在Captivate中按F12时:如果我试图运行Captivate导出的swf或html,它会崩溃:有什么想法吗

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

基本上,如果您想增加cpEISetValue的位置第二个参数,那么在代码中,您总是将其设置为5。还应确保在达到最大滑块位置时将其重置。

您可以在单击按钮内检查SHIFT键:

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

如果要使用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或类,如element\u id或.element\u class