Не могу установить время в плеере

162
06 августа 2018, 18:10

При клике значение CurrentTime сбрасывается до 0

Делаю обычный бар для перемотки аудио

    this.song = new Audio();
    let seekBar = document.querySelector('.seek-bar');
    seekBar.addEventListener('click', (event) => {
            let time = (event.offsetX / seekBar.offsetWidth) * this.song.duration;
            this.song.currentTime = time;
        });     
Answer 1

Если нужно выбрать позицию, можно заюзать input[type="range"]:

setTimeout(_ => (console.config({maxEntries: 1}), [...document.querySelector('.as-console').childNodes].forEach(e => e.remove())), 10); 
 
let range = document.querySelector('input'); 
 
range.min = 1; 
range.max = 500; // Length of a media 
range.step = 1; 
 
range.addEventListener('input', throttle(function (e) { 
  console.info(`Move to ${this.value} sec.`); 
}, 100)); 
 
 
function throttle(func, ms) { 
  var isThrottled = false, 
    savedArgs, 
    savedThis; 
 
  function wrapper() { 
    if (isThrottled) { 
      savedArgs = arguments; 
      savedThis = this; 
      return; 
    } 
 
    func.apply(this, arguments); 
 
    isThrottled = true; 
 
    setTimeout(function() { 
      isThrottled = false; 
      if (savedArgs) { 
        wrapper.apply(savedThis, savedArgs); 
        savedArgs = savedThis = null; 
      } 
    }, ms); 
  } 
 
  return wrapper; 
}
input[type=range] { 
  -webkit-appearance: none; 
  margin: 10px 0; 
  width: 100%; 
} 
input[type=range]:focus { 
  outline: none; 
} 
input[type=range]::-webkit-slider-runnable-track { 
  width: 100%; 
  height: 12.8px; 
  cursor: pointer; 
  animate: 0.2s; 
  box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; 
  background: #ac51b5; 
  border-radius: 25px; 
  border: 0px solid #000101; 
} 
input[type=range]::-webkit-slider-thumb { 
  box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; 
  border: 0px solid #000000; 
  height: 20px; 
  width: 39px; 
  border-radius: 7px; 
  background: #65001c; 
  cursor: pointer; 
  -webkit-appearance: none; 
  margin-top: -3.6px; 
} 
input[type=range]:focus::-webkit-slider-runnable-track { 
  background: #ac51b5; 
} 
input[type=range]::-moz-range-track { 
  width: 100%; 
  height: 12.8px; 
  cursor: pointer; 
  animate: 0.2s; 
  box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; 
  background: #ac51b5; 
  border-radius: 25px; 
  border: 0px solid #000101; 
} 
input[type=range]::-moz-range-thumb { 
  box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; 
  border: 0px solid #000000; 
  height: 20px; 
  width: 39px; 
  border-radius: 7px; 
  background: #65001c; 
  cursor: pointer; 
} 
input[type=range]::-ms-track { 
  width: 100%; 
  height: 12.8px; 
  cursor: pointer; 
  animate: 0.2s; 
  background: transparent; 
  border-color: transparent; 
  border-width: 39px 0; 
  color: transparent; 
} 
input[type=range]::-ms-fill-lower { 
  background: #ac51b5; 
  border: 0px solid #000101; 
  border-radius: 50px; 
  box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; 
} 
input[type=range]::-ms-fill-upper { 
  background: #ac51b5; 
  border: 0px solid #000101; 
  border-radius: 50px; 
  box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; 
} 
input[type=range]::-ms-thumb { 
  box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; 
  border: 0px solid #000000; 
  height: 20px; 
  width: 39px; 
  border-radius: 7px; 
  background: #65001c; 
  cursor: pointer; 
} 
input[type=range]:focus::-ms-fill-lower { 
  background: #ac51b5; 
} 
input[type=range]:focus::-ms-fill-upper { 
  background: #ac51b5; 
} 
 
body { 
  padding: 30px; 
}
<input type='range' />

READ ALSO
Кнопка меняет цвет при нажатии JSON

Кнопка меняет цвет при нажатии JSON

Доброе время суток всемРебята ,сижу ломаю голову как сделать чтоб нажимаешь на кнопку и она стала зеленого цвета и рядом в диве высветилась...

239
Почему таблица закрывается?

Почему таблица закрывается?

При добавлении свойства "responsive: true" к "#reservations" и при нажатии на дочернюю строку - таблица открывается и закрываетсяПомогите мне пожалуйста

169
Зацикливание while при вводе строки через prompt

Зацикливание while при вводе строки через prompt

Есть две переменные, в которые записываются данные:

175
iOS. stackNavigator. отследить нажатие кнопки назад

iOS. stackNavigator. отследить нажатие кнопки назад

Разрабатывается приложение на react native под ios и возникла следующая проблема: Нужно в личной кабинете сделать редактирование полейПредполагается,...

176