Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 为什么我的视频条没有结束?_Css_Video - Fatal编程技术网

Css 为什么我的视频条没有结束?

Css 为什么我的视频条没有结束?,css,video,Css,Video,我有一个视频条(#progressBar),它随着视频播放而移动。该功能正常工作并正确更新。但一旦视频完成,视频条就不会完成。这就是它看起来的样子: HTML <div id="skin"> <video id="myMovie" width="640" height="360" autoplay> <source src="videos/Queen - Killer Queen.mp4">

我有一个视频条(
#progressBar
),它随着视频播放而移动。该功能正常工作并正确更新。但一旦视频完成,视频条就不会完成。这就是它看起来的样子:

HTML

<div id="skin">
            <video id="myMovie" width="640" height="360" autoplay>
                <source src="videos/Queen - Killer Queen.mp4">
            </video>
            <nav>
                <div id="buttons">
                   <i class="fa fa-pause" aria-hidden="true" id="playButton"></i>
                </div>

                <span id='current'>0:00 / </span> <span id='duration'> 0:00</span>
                <div id="defaultBar">
                    <div id="progressBar"></div>
                </div>
                <div style="clear:both"></div>
            </nav>
        </div>
JS

body {
    text-align: center;
    display: block;
}

nav {
    margin: 5px 0px;
}

#myMovie {
    width: 850px;
    height: 480px;
}

#myMovie::-webkit-media-controls {
  display: none;
}

#playButton {
  position: relative;
  top: -47px;
  left: -294px;
  padding: 10px;
  padding-bottom: 13px;
  padding-left: 20px;
  padding-right: 20px;
  color: white;
  cursor: pointer;
}

#skin {
  position: relative;
}

#defaultBar {
    position: relative;
    float: left;
    top: -90px;
    left: 481px;
    width: 622px;
    height: 3px;
    background-color: #C2C2C2;
}
#progressBar {
    position: absolute;
    width: 0;
    height: 3px;
    background-color: #CA241E;
}

#current, #duration {
   position: relative;
  top: -77px;
  left: -540px;
  color: white;
  font-family: Open Sans;
  font-size: 13px;
}

#duration {
  left: -540px;
}
$(document).ready(function() {

  $("#myMovie").on(
    "timeupdate","play",
    function(event) {

      function format(s) {
    m = Math.floor(s / 60);
    m = (m >= 10) ? m : "0" + m;
    s = Math.floor(s % 60);
    s = (s >= 10) ? s : "0" + s;
    return m + ":" + s;
  }

   var time = format(Math.floor(this.currentTime) + 1);
   var duration = format(Math.floor(this.duration) + 1);

      onTrackedVideoFrame(time,duration);
    });
});

function onTrackedVideoFrame(currentTime, duration){
    $("#current").text(currentTime + " / ");
    $("#duration").text(duration);
}

$("#myMovie").on("ended",
function(event) {
  alert("f");
});

function doFirst(){
  barSize=575;
  myMovie=document.getElementById('myMovie');
  playButton=document.getElementById('buttons');
  defaultBar=document.getElementById('defaultBar');
  progressBar=document.getElementById('progressBar');

  playButton.addEventListener('click', playOrPause, false);
  defaultBar.onclick=clickedBar('click', clickedBar, false);
}

function playOrPause(){
  if(!myMovie.paused && !myMovie.ended){
    myMovie.pause();
    playButton.innerHTML='<i class="fa fa-play" aria-hidden="true" id="playButton"></i>';
    window.clearInterval(updateBar);
  }else{
    myMovie.play();
    playButton.innerHTML='<i class="fa fa-pause" aria-hidden="true" id="playButton"></i>';
    updateBar=setInterval(update, 500);
  }
}

function update(){
  var size=parseInt (myMovie.currentTime*barSize/myMovie.duration);
  if(!myMovie.ended){
    progressBar.style.width=size+'px';
  }else{
    progressBar.style.width=size+'px';
    playButton.innerHTML='<i class="fa fa-play" aria-hidden="true" id="playButton"></i>';
    window.clearInterval(updateBar);
  }
}

function clickedBar(e){
  if(!myMovie.paused && !myMovie.ended){
    var mouseX=e.pageX-bar.offsetLeft;
    var newTime=mouseX*myMovie.duration/barSize;
    myMovie.currentTime=newTime;
    progressBar.style.width=mouseX+'px';
  }
}

window.addEventListener('load', doFirst, false);
$(文档).ready(函数(){
$(“#我的电影”)。在(
“时间更新”,“播放”,
功能(事件){
函数格式{
m=数学楼层(s/60);
m=(m>=10)?m:“0”+m;
s=数学楼层(s%60);
s=(s>=10)?s:“0”+s;
返回m+“:”+s;
}
var time=格式(Math.floor(this.currentTime)+1);
var duration=格式(Math.floor(this.duration)+1);
OnTracked视频帧(时间、持续时间);
});
});
函数onTrackedVideoFrame(当前时间、持续时间){
$(“#当前”).text(当前时间+“/”);
$(“#持续时间”)。文本(持续时间);
}
$(“#我的电影”)。在(“结束”,
功能(事件){
警报(“f”);
});
函数doFirst(){
棒材尺寸=575;
myMovie=document.getElementById('myMovie');
playButton=document.getElementById('buttons');
defaultBar=document.getElementById('defaultBar');
progressBar=document.getElementById('progressBar');
playButton.addEventListener('单击',播放或暂停,错误);
defaultBar.onclick=clickedBar('click',clickedBar,false);
}
函数playOrPause(){
如果(!myMovie.paused&!myMovie.end){
myMovie.pause();
playButton.innerHTML='';
clearInterval(updateBar);
}否则{
我的电影;
playButton.innerHTML='';
updateBar=setInterval(更新,500);
}
}
函数更新(){
var size=parseInt(myMovie.currentTime*barSize/myMovie.duration);
如果(!myMovie.end){
progressBar.style.width=size+'px';
}否则{
progressBar.style.width=size+'px';
playButton.innerHTML='';
clearInterval(updateBar);
}
}
功能点击条(e){
如果(!myMovie.paused&!myMovie.end){
var mouseX=e.pageX-bar.offsetLeft;
var newTime=mouseX*myMovie.duration/barSize;
myMovie.currentTime=newTime;
progressBar.style.width=mouseX+'px';
}
}
window.addEventListener('load',doFirst,false);

我不能确定,因为当我以1:1的比例复制代码时,代码对我根本不起作用

但似乎您正在使用错误的值初始化变量barSize

function doFirst(){
    barSize=575;
    ...
“#defaultBar”似乎是ProgressBar本身,因此初始化barSize的正确值应为622:

function doFirst(){
    barSize=622; // this should work
    ...

我不能确定,因为当我以1:1的比例复制代码时,代码对我根本不起作用

但似乎您正在使用错误的值初始化变量barSize

function doFirst(){
    barSize=575;
    ...
“#defaultBar”似乎是ProgressBar本身,因此初始化barSize的正确值应为622:

function doFirst(){
    barSize=622; // this should work
    ...