2016-11-23 58 views
2

我试图卸载一个视频,当它完成播放。到目前为止没有运气。任何人都可以帮忙吗? JSFIDDLE example here如何在播放完毕后卸载视频?

$(document).ready(function(){ 
    $('#video').on('ended',function(){ 
     $('#video').get(0).unload(); 
    }); 
}); 
+0

感谢@GCyrillus,但这似乎并不奏效。另外,它禁用了开启/关闭视频的功能。 – Eddy

回答

1

我已经将解决​​方案包含在jsfiddle和下面的代码片段中。请注意,我用.toggle()而不是.unload(),因为.unload()是指在窗口事件被解雇:

https://jsfiddle.net/firelite/h4aqkgo1/

$('#videoButton').on('click', function() { 
 
    var videoDiv = $('#videoDiv').toggle(); 
 

 
    if (videoDiv.is(':visible')) { 
 
    $('#video').get(0).load(); 
 
    $('#video').get(0).play(); 
 
    } else { 
 
    $('#video').get(0).pause(); 
 
    } 
 
}); 
 

 
$(document).ready(function() { 
 
    $('#video').on('ended', function() { 
 
    $('#video').get(0).pause(); 
 
    $('#videoDiv').toggle(); 
 
    }); 
 
});
#videoDiv { 
 
    width: 100%; 
 
    height: 360px; 
 
    position: relative; 
 
} 
 
#videoBlock, 
 
#videoMessage { 
 
    width: 100%; 
 
    height: 360px; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
} 
 
.videoClick { 
 
    text-align: center 
 
} 
 
.videoClick a { 
 
    color: white; 
 
    background-color: rgba(241, 241, 241, 0.25); 
 
    font-size: 1.7em; 
 
    cursor: pointer; 
 
    cursor: hand 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="videoButton">Toggle video</button> 
 
<div id="videoDiv" style="display:none"> 
 
    <div id="videoBlock"> 
 
    <video preload="preload" id="video"> 
 
     <source src="https://static.webshopapp.com/shops/054833/files/093143183/fotel-photography-course-tour-workshop-video-4.mp4" type="video/mp4"> 
 
    </video> 
 
    </div> 
 
</div>

+1

非常感谢你,@Transattic!它非常棒!保持尝试,但无法自己或在线找到解决方案。你对我的帮助是多么的宽慰。再次感谢! – Eddy

+0

@Eddy,我很高兴这是你正在寻找的!享受你的感恩节周末:) – Transattic

+0

你可以看看这里,看看你是否注意到任何明显的错误? http://stackoverflow.com/questions/40805233/video-not-showing-in-safari-but-only-does-show-after-a-bit-of-scrolling – Eddy

相关问题