我需要在每個.player
div內有多個YouTube播放器,但是這裏只有一個播放器正在載入我的代碼。 所以任何人都可以請幫我找到問題在哪裏?多個Youtube播放器嵌入問題使用Youtube API
$(document).ready(function(){
var iframeCount = $('.player');
iframeCount.each(function (index) {
$(this).attr('id', 'player-'+index);
});
var player, pId, playerText;
$('.start-video').on('click', function (index) {
onPlayerStateChange = function (event) {
if (event.data == YT.PlayerState.ENDED) {
event.target.destroy();
}
}
playerText = $(this).siblings('.player').text();
pId = $(this).siblings('.player').attr('id');
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
onYouTubeIframeAPIReady = function() {
player = new YT.Player(pId, {
height: '244',
width: '434',
videoId: playerText, // youtube video id
playerVars: {
'autoplay': 1,
'rel': 0,
'showinfo': 0
},
events: {
'onStateChange': onPlayerStateChange
}
});
}
$(this).parent().find('.start-video').fadeOut();
});
});
.y-video{
position: relative;
display: inline-block;
min-width: 434px;
min-height: 262px;
}
.y-video img{
position: absolute;
width: 434px;
height: 244px;
left: 0;
top: 0;
}
.play-icon{
display: inline-block;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
top: 42%;
z-index: 1;
width: 40px;
font-size: 26px;
border: 3px solid #fff;
border-radius: 50%;
text-align: center;
color: #fff;
padding: 4px 0 4px 5px;
cursor: pointer;
background: rgba(0,0,0,.7);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="y-video">
<div class="player">gpzuVt_mkKs</div>
<span class="play-icon start-video">▷</span>
<img class="start-video" src="http://img.youtube.com/vi/gpzuVt_mkKs/0.jpg">
</div>
<div class="y-video">
<div class="player">Ep6U7vGjFw0</div>
<span class="play-icon start-video">▷</span>
<img class="start-video" src="http://img.youtube.com/vi/Ep6U7vGjFw0/0.jpg">
</div>
<div class="y-video">
<div class="player">6lt2JfJdGSY</div>
<span class="play-icon start-video">▷</span>
<img class="start-video" src="http://img.youtube.com/vi/6lt2JfJdGSY/0.jpg">
</div>
你都知道你正在創建由於你的'。每個內追加它們多個腳本標籤()''循環$('。y-video')。each(function(index)'。此外,爲什麼不只有一個播放器播放視頻?您可以根據點擊'img'來設置視頻的位置。 – NewToJS
@NewToJS謝謝!!!現在編輯我的代碼以刪除每個功能,現在加載播放器的圖像點擊,但它仍然是loa d只有一個首先點擊的視頻。 – kravisingh