У меня есть элемент видео, положение которого определяется шириной и высотой браузера. Он завернут в функцию resize()
ниже. В основном, когда я изменяю размер браузера, позиция изменяется так, что браузер фокусируется на центре видео.стрельба при загрузке и изменении размера вместе?
Я пытаюсь запустить эту функцию сразу после загрузки страницы и изменения размера браузера. Как при загрузке, так и при изменении размера работает, когда я запускаю свою страницу локально, но при нажатии вживую функция не запускается при загрузке, но срабатывает только при изменении размера.
Это также очень противоречиво. Иногда функция срабатывает при загрузке, а иногда и нет.
var resize = function(){
var videoWidth = (window.innerWidth - video.offsetWidth)/2;
var videoHeight = (window.innerHeight - video.offsetHeight)/2;
video.style.transform = "translateY(" + videoHeight + "px)";
video.style.transform = "translateX(" + videoWidth + "px)";
}
window.addEventListener("load", function(){
resize();
});
window.addEventListener("resize", function(){
resize();
});
Просто чтобы проверить, является ли функция не вызываемой или событие не уволено? –
эй там! это скриншот моей проблемы. Я считаю, что это событие не запускается imgur.com/a/myUC8. Первое изображение показывает, как отображается страница, когда функция не срабатывает при загрузке. Но если я изменю размер браузера, он будет перенастраиваться, чтобы выглядеть как второе изображение. Однако иногда функция срабатывает при загрузке - она просто противоречива ... – giantqtipz
Я не знаю, насколько велик остальная часть вашего кода, но мне кажется, что иногда прослушиватель событий нагрузки добавляется после загрузки страницы , поэтому он не будет срабатывать, это также приведет к случайности, потому что иногда он загружается достаточно быстро, чтобы добавить прослушиватель событий до того, как страница закончит загрузку. Является ли код в отдельном JS-файле? Я бы рекомендовал добавить это как можно дальше и дать понять. –