0
我试过一些解决方案,但没有成功。Youtube Iframe API仅适用于第一个
Youtube视频是隐藏的div内。
点击按钮和视频出现,但是当我在暂停按钮点击,在div必要再隐藏(强制性和工作)
在第二次的时候,我点击播放视频按钮,视频显示,但没有自动播放暂停都不会触发隐藏事件。
为什么?
的jsfiddle:https://jsfiddle.net/u19ut5gt/6/
HTML
<div id="fw16-liam">
<div class="fw16-button playvideo">Play Video</div>
<div id="liam-video"><div id="ytplayer"></div></div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
的Javascript
$("#fw16-liam .playvideo").click(function(){
$("#liam-video").fadeIn(1000);
runPlayer('0m9hYRUV920');
});
if(document.getElementById('iframe_api') === null){
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
tag.id = "iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
function runPlayer(video_id){
var player;
player = new YT.Player('ytplayer', {
playerVars: {
autoplay: 1,
html5: 1,
controls: 1,
showsearch: 0,
showinfo: 0,
loop: 1,
fs: 0
},
height: '300',
width: '487',
videoId: video_id,
events: {
onStateChange: function (event) {
// Loop after video end
if(event.data === YT.PlayerState.ENDED){
event.target.playVideo();
}
// If user, pause video, then this hide.
if(event.data == 2){
event.target.stopVideo();
$("#liam-video").fadeOut(200);
}
}
}
});
}
CSS
.playvideo{width:112px; height: 37px; color: white;}
.fw16-button {cursor: pointer;cursor: hand; background-color: red;}
#liam-video{display:none; background: #9e7969; width: 487px; height:677px; position: relative; left: 0px; top: 20px; border: none;}
#liam-video iframe{border:none;}
就是这样!谢谢。它完美地工作 –