반응 형으로 제작 된 맞춤식 플레이어를 만들었습니다. 지금까지는 사용자가 진행 막대를 클릭 한 지점에서 오디오를 재생할 수없는 것 외에는 모든 것이 잘 작동합니다. 내 플레이어가 백분율을 사용하는 반면에이 튜토리얼의 모든 사용법은 픽셀 값을 사용하므로 코드가 깨지고 barSize = 100 + '%';
을 설정하면 "currentTime
속성을 설정하지 못했습니다. 제공된 오류 메시지가 표시되지 않습니다. -한정된".백분율 값을 사용하여 진행률 막대를 업데이트 하시겠습니까?
HTML
<!-- PROGRESS BAR -->
<div id="progress_bar">
<div id="bar"></div>
</div>
JS 코드
// PROGRESS BAR
// audio display
var progress = document.getElementById('bar');
//click area
var audioBar = document.getElementById('progress_bar');
var barSize = 100 + '%';
audio.addEventListener('timeupdate', updateProgress, false);
function updateProgress() {
if (audio.currentTime > 0) {
var value = 0;
value = Math.floor((100/audio.duration) * audio.currentTime);
progress.style.width = value + '%';
}
else{
$('#play').html('<img src="img/play.png" width="70" height="70" />');
$(curTimeDisplay).html('0:00');
progress.style.width = 0;
}
}
// CHANGING TIME ON PROGRESS BAR
$('#progress_bar').bind('click', function (e) {
var $div = $(e.target);
var $display = $div.find('#progress_bar');
var offset = $div.offset();
var x = e.clientX - offset.left;
//$('#bar').width(x);
var newtime = x*audio.duration/barSize;
audio.currentTime = newtime;
progress.style.width = x + '%';
});
CSS
(진행률 막대)#progress_bar {
border:1px solid #500012;
margin:1em 0;
cursor:pointer;
background:#f2f2f2;
width:100%;
height:20px;
display:inline-block;
padding:0;
}
#bar {
background:#77001A;
height:20px;
display:inline-block;
float:left;
width:0%;
}
어떤 도움에 감사드립니다 :) 감사합니다!
질문과 관련이 있다고 생각되는 코드로 문제를 해결할 수 있습니까? 이것은 코드를 통해 읽을 수있는 많은 ... – rfornal
안녕하세요 rfornal. 나는 이것이 플러시 될 필요가 있다고 믿습니다 : var newtime = x * audio.duration/barSize; – let1imd