2

我需要为电子学习应用程序制定以下工作流程:

  1. 暂停播放器
  2. 隐藏播放器
  3. 显示一个问题(挑战)
  4. 得到用户回答

  5. 如果答案是真的

    1. 隐藏问题 div
    2. 显示播放器
    3. 继续播放
  6. 如果答案错误,请重新加载页面并从头开始播放视频

我需要在播放视频时禁用手动搜索。这是我的代码

flowplayer_settings.clip.onCuepoint = [config.de, function(clip, point) {
   this.pause();
   this.hide();

   $("#question").show();

   $.ajax({
     url: config.qp,
     success: function(data) {
       $("#question").html(data);
       $('#advance').click(function() {
         $f().show();                                                                                                                                                                                                                  
         $f().resume();
       });
     },
     dataType: 'html'
   });
 }];

在代码中,当我单击#advance 按钮时,在我正确回答一个问题后显示,我得到另一个问题,似乎提示点被调用了无数次。我无法理解。有什么建议吗?非常感谢。

4

1 回答 1

2

我解决了一个肮脏的解决方案,我并不为此感到自豪,但我还没有找到更好的方法来解决这个问题。我只是放了一个标志来检查提示点是否已经被执行,如果是,我跳过提示点代码。

flowplayer_settings.clip.onCuepoint = [config.de, function(clip, point) {
if (flag == 1) {
  this.pause();

  if (this.isFullscreen()) {
    this.toggleFullscreen();
  }

  $.blockUI({ message: $("#question"), css: { top: '30%' } });

  $.ajax({
    url: config.qp,
    success: function(data) {
      $("#question").html(data);
      flag = 0;

      $('#advance').click( function () {
        $.unblockUI();
      });

      $('#failure > button').click( function () {
        $.unblockUI();
        location.reload();
      });

    },
    dataType: 'html'
  });
}
于 2012-07-18T09:27:15.770 回答