Это похоже на проблему сферой.В $(currenttrack).bind('canplay', function() {
, currenttrack
не определено, поскольку оно объявлено в функции.
Кроме того, вы используете встроенный onchange
для вызова функции ... И эта функция регистрирует обработчик изменений, способ jQuery,Это один или другой.
Попробуйте:
var currenttrack = $('.track')[0];
var val = 0;
$('#track-pb').on('input change propertychange', function() {
val = parseInt($(this).val() * currenttrack.duration / 100, 10)
$('#track-pb').prop("value", val);
currenttrack.currentTime = val;
});
currenttrack.on('canplay', function() {
this.currentTime = val;
});
И удалите onchange="PBtap()"
из вашей разметки.
Также ... не используйте устаревший .bind()
.Вместо этого используйте .on()
.