カスタム ビデオ コントロールを作成しましたが、ビデオの再生中にプログレス バーがフルスクリーンで適切に伸びません。そのため、ビデオが最後に到達するまでに、バーは幅の約 1/3 になります。
フルスクリーンの前にバーサイズがコンテナのサイズに等しく設定されていることに関係があると思います。バーのサイズはパーセンテージで設定されているため、ラッパーに合わせて調整されます。JS を使用してプログレス バーを含むバーに合わせて調整する方法がわかりません。(JQueryは使えません)
JS:
bar = document.getElementById('defaultBar');
barSize = bar.offsetWidth;
progress = document.getElementById('progressBar');
function move(e){
if(!media.paused && !media.ended){
var mouseX= e.offsetX;
newTime=((mouseX*media.duration)/barSize);
media.currentTime=newTime;
progress.style.width=mouseX+'px';
}
}
HTML:
<div id="defaultBar">
<div id="progressBar"></div>
</div>
CSS:
#defaultBar{
position:relative;
float:left;
width:59.5%;
height: 22px;
padding:0px;
border: 0px solid black;
background:yellow;
margin: 0px;
cursor: pointer;
}
#progressBar{
position:relative;
float:left;
height: 50%;
margin: 5px 0px;
border: 0px solid black;
background:green;
cursor: pointer;
}
全画面表示ではなく、進行状況バーがコンテナーのほぼ最後 (黄色) にあることがわかります。
ビデオ内の同じ位置、プログレス バーはコンテナの最後近くにはありません。