Как автоматически не воспроизводить видео если модальное окно закрыто

dgkk

Профессор
Регистрация
16 Дек 2012
Сообщения
117
Реакции
45
Всем привет!

Есть модальное окно, которое окрывается 1 раз в день для 1 пользователя, т.е. через куки.
Код:
$(document).ready(function() {
    if (!$.cookie('hidden.bs.modal')) {
        setTimeout(function(){
            $('#overlay-banner').modal('show');
        }, 1000); // появление с задержкой
        setTimeout('$("#overlay-banner").hide();',5000); //автоматическое закрытие
    }
    $.cookie('hidden.bs.modal', true, {
        expires: 1, // Время хранения cookie в днях
        path: '/'
    });
});
В нем автоматически воспроизводится видео
Код:
<video width="600" height="320" autoplay="" controls=""><source type="video/mp4" src="/video/credo.mp4"></source></video>
Как сделать так, чтобы если модальное окно не открывается, то и видео не воспроизводится? Думал вырезать атрибут autoplay с помощью .removeAttr("autoplay"), но что-то не получается или не верно дописал в скрипт.. Может есть еще варианты решения моей задачи?
 
Последнее редактирование:

Absolute

Крокодил ;)
Регистрация
9 Авг 2009
Сообщения
581
Реакции
455
Как сделать так, чтобы если модальное окно не открывается, то и видео не воспроизводится?
Например, на лету создавать контейнер проигрывателя, добавлять в тот момент, когда это нужно и удалять тогда, когда это нужно.
HTML:
$(document).ready(function(){
  var contVideo = $('<video />', {
    width : 600,
    height : 320,
    autoplay : '',
    controls : ''
  })
  .append($('<source />', {
    type : 'video/mp4',
    src : 'http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4'
  }));
  contVideo.appendTo('body');

  setTimeout(function(){
    contVideo.remove();
  }, 3000);
});
 

dgkk

Профессор
Регистрация
16 Дек 2012
Сообщения
117
Реакции
45
Решил проблему не много иначе. Изначально убрал autoplay , а потом, если модальное окно открывается, то налету добавляется атрибут
Код:
$(document).ready(function() {
    if (!$.cookie('hidden.bs.modal')) {
        setTimeout(function(){
            $('#overlay-banner').modal('show');
        }, 1000); // появление с задержкой
        $('video').prop("autoplay", true); //добавление атрибута autoplay
        setTimeout('$("#overlay-banner").remove();',113000); //автозакрывание окна
    }
    $.cookie('hidden.bs.modal', true, {
        expires: 1, // Время хранения cookie в днях
        path: '/'
    });
});
 
Сверху