Я пытаюсь увеличить переменную, когда видео достигает ключевой точки

Я использую 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 все время во всех оповещениях, когда видео достигает ключевой точки!

2 ответа

Решение

Приносить 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 всегда приходит в качестве выхода

Я понял, что я не вырвался из цикла, и да, как сказал Анант, мне нужно инициализировать i перед компоновщиком flowplayer, вот рабочий код:

<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>
Другие вопросы по тегам