2016-05-27 2 views
0

Я пытаюсь сделать div той же высотой видео на моем сайте.Выполнение функции? работает только при изменении размера

так я выполнил это:

var videoHeight = 0; 
videoHeight = $("video").css("height"); 
$(".tester").css("height", videoHeight); 

в

$(document).ready(function(){} 

и

$(window).resize(function(){} 

но высота дает точные показания при изменении размера окна, а не на обновления. Что мне делать ?

при обновлении: видео высокой 554 пикселей и мои ДИВ 493 пикселей

при изменении размера: оно равно

Любые идеи?

EDIT:

Вот мое видео тег:

<video class="video" preload="auto" loop="loop" controls> 
     <source src="video/demo.mp4" type="video/mp4"> 
    Your browser does not support the video tag. 
</video> 
+0

@Baptiiste Amaud: вы можете загрузить какую-нибудь пробную скрипку. Это означает, что вы также запускаете функцию изменения размера в готовой функции. – Rayudu

ответ

1

Может быть, он будет работать так:

video.addEventListener('loadedmetadata', function() { 
    // Video is loaded and can be played 

    var videoHeight = 0; 
    videoHeight = $("video").css("height"); 
    $(".tester").css("height", videoHeight); 
}, false); 

Wait until an HTML5 video loads

+1

Правильно, страница может быть загружена, но видео нет, поэтому размеры недоступны. Исходный код может сработать удачей видео. Единственное, что не нужно ждать загрузки всего видео, только его метаданные, есть событие, загруженное метаданными –

+0

Не работает, функция никогда не выполняется ... –

+0

Попробуйте также с событием 'loadedmetadata' , –

0

видео не знает его размеры пока метаданные не будут загружены. Используйте https://developer.mozilla.org/en-US/docs/Web/Events/loadedmetadata

video.addEventListener('loadedmetadata', function() { 
    var videoHeight = $("video").css("height"); 
    $(".tester").css("height", videoHeight); 
}, false); 

Обратите внимание, что loadedmetadata событие может уже запускаемое время DOMReady пожары, так что вы, возможно, потребуется проверить высоту перед установкой обработчика.

Смежные вопросы