Есть ли способ обнаружить, когда видео в формате HTML5 почти закончилось и закончилось? [Дубликат]

Причина, по которой вы не можете сделать это, вызывая system , состоит в том, что система запустит новый процесс, выполнит вашу команду и вернет статус выхода. Поэтому, когда вы вызываете систему «cd foo» , вы запустите процесс оболочки, который переключится в каталог «foo», а затем выйдет. В вашем скрипте perl ничего не произойдет. Аналогично, система «exit» запустит новый процесс и сразу же выйдет из него.

Что вы хотите для случая cd, есть - как указывает bobah - функция ChDir . Для выхода из вашей программы существует функция exit .

Однако ни один из них не повлияет на состояние сеанса терминала, в котором вы находитесь. После завершения вашего скрипта perl рабочий каталог вашего терминала будет таким же, как и до вашего запуска, и вы не сможете выйти из сеанса терминала, вызвав exit в вашем скрипте perl.

Это связано с тем, что ваш perl-скрипт снова является отдельным процессом из вашей оболочки терминала, и все, что происходит в отдельных процессах, обычно не мешает друг другу. Это функция, а не ошибка.

Если вы хотите, чтобы в вашей оболочке что-то изменилось, вы должны выпустить инструкции, которые понимаются и интерпретируются вашей оболочкой. cd - такая встроенная команда в вашей оболочке, как exit .

3
задан funkylaundry 30 July 2014 в 12:28
поделиться

1 ответ

Вы можете использовать событие timeupdate, которое срабатывает всякий раз, когда обновляется атрибут currentTime видео.

Ссылка: https://developer.mozilla.org/en-US/docs/Web/Events/timeupdate

Пример:

$(document).ready(function(){

    $( '.header-video' ).on(
        'timeupdate', 
        function(event){

            // Save object in case you want to manipulate it more without calling the DOM
            $this = $(this);

            if( this.currentTime > ( this.duration - 3 ) ) {
                $this.fadeOut(200);
            }

        });

});

JSFiddle

6
ответ дан jjjjjjjjjjjjjjjjjjjj 16 August 2018 в 10:05
поделиться
  • 1
    +1, но после .get(0) у вас не будет события .on. $( '.header-video' ).on будет работать отлично – CodingIntrigue 30 July 2014 в 12:37
  • 2
    Спасибо @RGraham. Я обновлю ответ с помощью лучшего кода и примера. – jjjjjjjjjjjjjjjjjjjj 30 July 2014 в 12:42
  • 3
    Да, я обнаружил, что, когда я это пробовал. .get (0) должен был получить объект DOM, но .on для объектов jQuery. И я вижу, вы также обнаружили, что продолжительность в секундах, в то время как затухание в миллисекундах, поэтому я в основном закончил с тем же, как вы его обновили. Благодаря! – funkylaundry 30 July 2014 в 12:48
Другие вопросы по тегам:

Похожие вопросы: