我试图在视频到达提示点时增加变量

I am trying to increment variable when the video reaches a cue point

我正在使用 flow-player,当我的视频到达某个提示点时,我将触发具有 i 变量值的警报:

<script type="text/javascript"> 
    flowplayer(function (api, root) {
      api.bind("cuepoint", function () {
        api.pause();
        var i = 0 ;
        $(".quiz").slideDown(2000);
        $("."+i).fadeIn(2000);
        do {
            i++;
            alert(i);
            }
        while (i < 3);
        $('.done').click(function () {
        api.play();
        $(".quiz").slideUp(2000);
    });
      });
    });
</script>

现在我希望每次视频到达提示点时,第一次暂停时 i 的值应为 1,第二次暂停时应为 2,依此类推...

现在,当视频到达提示点时,在所有警报中始终 i = 1 的值!

i 带出函数,如下所示:-

<script type="text/javascript"> 
    flowplayer(function (api, root) {
      var i = 0 ;
      api.bind("cuepoint", function () {
        api.pause();

        $(".quiz").slideDown(2000);
        $("."+i).fadeIn(2000);
        do {
            i++;
            alert(i);
             break;
            }
        while (i < 4);
        $('.done').click(function () {
        api.play();
        $(".quiz").slideUp(2000);
    });
      });
    });
</script>

注意:- 您正在一次又一次地重新初始化 i,这就是为什么 1 总是作为输出出现的原因

我发现我并没有跳出循环,是的,正如 Anant 告诉我的那样,我需要在 flowplayer 绑定器之前初始化 i,这是工作代码:

<script type="text/javascript"> 
    flowplayer(function (api, root) {
        var i = 0 ;
      api.bind("cuepoint", function () {
        api.pause();

        $(".quiz").slideDown(2000);
        do {
            i++;
            alert(i);
            break;
            }
        while (i < 4);
        $('.done').click(function () {
        api.play();
        $(".quiz").slideUp(2000);
    });
      });
    });
</script>