Как сохранить видео на весь раздел - PullRequest
0 голосов
/ 08 июня 2018

Я использовал фоновое видео coverr для своего сайта, но когда я изменяю его размер на мобильном, затем снова на рабочий стол, у видео появляются дополнительные пробелы.Я думаю, что это происходит также на сайте Coverr.co.Не уверены, есть ли у них поддержка.

Как я могу сохранить видео, охватывающее весь раздел?Это можно исправить с помощью медиа-запроса CSS или нужно изменить код javascript для coverr?

Я пробовал использовать обложку для подгонки объекта, но я думаю, что для IE Edge нет работы.

Спасибо!enter image description here

Вот код jquery

$( document ).ready(function() {

  scaleVideoContainer();

  initBannerVideoSize('.video-container .poster img');
  initBannerVideoSize('.video-container .filter');
  initBannerVideoSize('.video-container video');

  $(window).on('resize', function() {
    scaleVideoContainer();
    scaleBannerVideoSize('.video-container .poster img');
    scaleBannerVideoSize('.video-container .filter');
    scaleBannerVideoSize('.video-container video');
  });
});

function scaleVideoContainer() {

  var height = $(window).height() + 5;
  var unitHeight = parseInt(height) + 'px';
  $('.homepage-hero-module').css('height',unitHeight);

}

function initBannerVideoSize(element){

  $(element).each(function(){
    $(this).data('height', $(this).height());
    $(this).data('width', $(this).width());
  });

  scaleBannerVideoSize(element);

}

function scaleBannerVideoSize(element){

  var windowWidth = $(window).width(),
  windowHeight = $(window).height() + 5,
  videoWidth,
  videoHeight;

  // console.log(windowHeight);

  $(element).each(function(){
    var videoAspectRatio = 
    $(this).data('height')/$(this).data('width');

    $(this).width(windowWidth);

    if(windowWidth < 1000){
        videoHeight = windowHeight;
        videoWidth = videoHeight / videoAspectRatio;
        $(this).css({'margin-top' : 0, 'margin-left' : -(videoWidth - windowWidth) / 2 + 'px'});

        $(this).width(videoWidth).height(videoHeight);
    }

    $('.homepage-hero-module .video-container video').addClass('fadeIn animated');

  });
}

Ответы [ 2 ]

0 голосов
/ 14 июля 2018

У меня была такая же проблема.Проблема с этим блоком кода:

if(windowWidth < 1000){
    videoHeight = windowHeight;
    videoWidth = videoHeight / videoAspectRatio;
    $(this).css({'margin-top' : 0, 'margin-left' : -(videoWidth - windowWidth) / 2 + 'px'});
    $(this).width(videoWidth).height(videoHeight);
}

Итак, когда вы изменяете его размер на мобильный, а затем обратно, он все еще имеет вышеуказанный CSS.Что я сделал, чтобы исправить это, так это включил «else», потому что при изменении его размера обратно:

if(windowWidth < 1000){
    videoHeight = windowHeight;
    videoWidth = videoHeight / videoAspectRatio;
    $(this).css({'margin-top' : 0, 'margin-left' : -(videoWidth - windowWidth) / 2 + 'px'}                
    $(this).width(videoWidth).height(videoHeight)
}
else{
    // this resets the CSS applied above
    $(this).css({'margin-top' : '', 'margin-left' : ''});
    $(this).width(windowWidth).height("");
}

Надеюсь, это поможет!

0 голосов
/ 11 июня 2018

Вы можете использовать этот код:

    <div style="width: 100%; height: 100%; position: absolute; top: 0; left: 0; ">

    <video width="100% " controls>
        <source src="https://www.w3schools.com/html/mov_bbb.mp4 " type="video/mp4 ">
        <source src="https://www.w3schools.com/html/mov_bbb.ogg " type="video/ogg "> Your browser does not support HTML5 video.
    </video>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...