Задать вопрос
@pixal

Как в input type='range’ сделать прокрутку видео?

Всем привет! Вот примерный код

var video = getElementById(“video”);
var range = getElementById(“range”);

range.setAttrebure(“min”, 0);
range.setAttrebure(“max”, video.duration);

function play(){

var video = getElementById(“video”);
var range = getElementById(“range”);

range.setAttrebute(“value”, video.currentTime)
}

function pos(data){
var video = getElementById(“video”);
var range = getElementById(“range”);
Video.currentTime = data;
}

set_interval(“play”,  1000);


Input

<input id=“range” type=“range” min=“”  max=“”  value=“” oninput=“pos(this.value)” />


Все работает пока я не прокручу видео. После этого ползунок замерает и не реагирует на видео. Подскажите пожалуйста как сделать все это правильно?
  • Вопрос задан
  • 256 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Okujava-script
@Okujava-script
Веб-программист с абсолютным слухом и композитор
Если сразу после объявления элемента видео пытаться прочитать продолжительность видео, то браузер не успевает извлечь из видеофайла эту информацию. Чтобы обойти эту ситуацию, достаточно чтение video.duration обернуть функцией onloadeddata или onloadedmetadata. Т. е., строку
range.setAttribute('max', video.duration);
переписать так:
video.onloadeddata = () => range.setAttribute('max', video.duration);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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