Показать сообщение отдельно
  #1 (permalink)  
Старый 20.02.2023, 14:40
Аспирант
Отправить личное сообщение для tenebrosus Посмотреть профиль Найти все сообщения от tenebrosus
 
Регистрация: 30.01.2014
Сообщений: 82

Помогите посчитать скорость прокрутки слайдера
Здравствуйте, помогите, будьте добры, посчитать скорость прокрутки слайдера. Раньше было так - state.time += .17; // скорость прокрутки, и if(state.time > 100){ - эти 2 параметра отвечают за скорость, но там как-то ширина ещё учитывается, приблизительно 10 секунд в итоге на слайд. Переделали под видео, и в arrTime[key] в секундах время видео. Надо, чтобы слайд ровно столько показывался, сколько длительность видео. Если прямо поставить количество секунд в одну из этих переменных- неправильно работает.. Надо задействовать эту переменную - arrTime[key]. Код слайдера не весь, но необходимые все строки есть. Кто-нибудь из гуру- подсобите плиз..
const loadAnimation = () => {
    state.time += .17; // скорость прокрутки
    if(state.active === undefined) return onClosed(); // закрываем если нет активных элементов
    state.active.style.width = state.time + "%";
    // console.log(arrTime[key]);
    //   console.log(state.time);

    if(state.time > arrTime[key]){
      // if(state.time > 100){
        nextStories();
        key++;
    }else{
        animationId = requestAnimationFrame(loadAnimation) ;
        // console.log(animationId);
    }
  }

 const nextStories = () => {
      if(state.stop) return;
      cancelAnimationFrame(animationId) 
      state.active.style.width = "100%";
      state.time = 0;
      state.children += 1;
      if(state.view.children[state.children] !== undefined){
          state.history.view.scroll({ left: state.children * 500, behavior: 'auto' });
          state.active = state.view.children[state.children].progress;
          start();
      }else{
          nextHistory();
      }
  }
Ответить с цитированием