thehighhomie
@thehighhomie

Поведение контролов как в YouTube?

Каким образом можно реализовать скрытие и показ контролов как в yotube? к примеру открыл видео, через несколько секунд пропадают контролы (назад, вперед, мут, плей и т.д.).

Первое на ум приходит - повесить на контейнер обработчик 'mousemove' и в нем описать все, но мне кажется, что это делается намного проще. За не имением достаточного опыта разработки ui, я не могу найти лучшее решение.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 3
kshshe
@kshshe
Frontend developer
Не уверен в оптимальности, но:
При mousemove над плеером отображаешь контролы и создаешь таймаут для их скрытия. Прошлый таймаут, если он был, удаляешь. Если движения не будет достаточно долго, сработает таймаут и произойдет скрытие контролов.
Ответ написан
Stalker_RED
@Stalker_RED
let hideControlsTimer = null;
players.addEventListener('mousemove', updateHideControlsTimer)
players.addEventListener('click', updateHideControlsTimer)

function updateHideControlsTimer(){
  if (hideControlsTimer) clearTimeout(hideControlsTimer)
  hideControlsTimer = setTimeout(hideControls, 2000)
}

function hideControls(){
  hideControlsTimer = null
  controls.classList.add('fade')
}
Ответ написан
@frees2
.wm { margin-top: 20%; transition: margin .1s ease-out .05s;}
.wm2 { margin-top: 0; transition: margin .1s ease-out .05s;}

if (x.className === "wm" ) {
	
x.className = "wm2"; 
	
	
	
	} else {x.className = "wm";  };
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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