2016-11-23 59 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

相關問題