如果语句不在JavaScript中触发(困惑)

时间:2017-03-15 01:32:46

标签: javascript json if-statement conditional jplayer

我正在编写一个嵌入了jPlayer的网页。播放器具有timeupdate属性,允许您在时间更新时调用函数(大约4 Hz)。我让它调用一个函数来更新页面上的交互式脚本,突出显示当前使用的json数据,其中包含与脚本的各个部分相关的时间码。该函数还返回json数据,以便在下次运行时使用,因此它可以跟踪它的位置,而无需每次都搜索整个json文件。

一切都很有效,除了一个永远不会触发的条件,它似乎应该在哪里。如果当前时间与上次不同的时间超过0.75秒,那么我应该假设用户单击后退或前进并相应地更新脚本。但我可以停止并重新启动音频文件10秒钟,或者点击遥远,并且永远不会触发if语句。这个问题非常简单,但我感到困惑的是导致它的原因。我在这里错过了什么?这是代码:



function updateTranscript(event, transcriptAsJson, divIdRoot, lastStepJson) {
  
  var currentTime = event.jPlayer.status.currentTime;
  
  var currentStepJson = lastStepJson;
  currentStepJson.lastTime = currentTime;
  
  /*
   * If the user navigated the time forward or back
  */
  if(currentTime >= (lastStepJson.lastTime + 0.75) || currentTime <= (lastStepJson.lastTime - 0.75)) {
    //unhighlight lastStepJson.lastHighlightedId and
    //any lastStepJson.additionalHighlightedIds
    alert('user skip');
    //...
  //...
//...
&#13;
&#13;
&#13;

顺便说一句,

lastStepJson的架构看起来像这样。

{
    'lastTime': 0.0,
    'lastUpdate': 0.0,
    'lastHighlightedId': 0
}

0 个答案:

没有答案