Как сделать перетаскиваемый дескриптор (div) в полосе прокрутки

Я пытаюсь создать панель звукового ползунка, используя ручку, которую я могу перетаскивать в другую часть музыки.

Элемент, который нужно перетаскивать, — это .handle, а .played последует за ним.

Я сделал структуру, как показано ниже: JSFiddle

.scrubber {
  width: 300px;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.8);
}

.scrubber>.bar {
  background: transparent;
  height: 10px;
}

.scrubber>.buffer {
  position: absolute;
  height: 10px;
  background: rgba(255, 0, 0, 0.2);
  top: 0;
}

.scrubber>.played {
  position: absolute;
  width:100px;
  height: 10px;
  background: red;
  top: 0;
  
}

.scrubber>.played>.handle {
  float: right;
  width: 10px;
  height: 10px;
  margin-top: 0px;
  margin-right: -5px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
}
<div class = "scrubber">
  <div class = "bar"></div>

  <div class = "buffer"></div>
  <div class = "played">
    <div class = "handle"></div>
  </div>
</div>

Любая идея, как заставить его работать?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
150
1

Ответы 1

вам нужно использовать

<input type = "range" />

и стилизуйте его как вам нужно

ссылка в коде: https://codepen.io/anon/pen/MLZpzg

Другие вопросы по теме