2013-12-20 81 views
2

我試圖讓YouTube視頻在懸停時開始。它會暫停(不停止),當用戶懸停在另一個視頻...在懸停/鼠標懸停上啓動YouTube視頻

我卡在懸停命令。有人可以幫我解決它嗎?

該頁面有16個視頻,這是來自jsfiddle的包含3個視頻的工作代碼作爲示例。

http://jsfiddle.net/sebwhite/gpJN4/

視頻:

<iframe id="player" width="385" height="230" src="http://www.youtube.com/embed/erDxb4IkgjM?rel=0&wmode=Opaque&enablejsapi=1;showinfo=0;controls=0" frameborder="0" allowfullscreen></iframe> 

JAVASCRIPT:

function onYouTubeIframeAPIReady() { 
player = new YT.Player('player', { 
    events: { 
     'onStateChange': onPlayerStateChange 
    } 
}); 

onYouTubeIframeAPIReady(); 
function onPlayerStateChange(event) { 
if (event.data == YT.PlayerState.PLAYING) { 
    player1.pauseVideo(); 
    player2.pauseVideo(); 
} 
+1

勒布嗨,試試這個鏈接http://stackoverflow.com/questions/15398745/how-to-start-a-youtube-video-from-mouseover - 圖片點擊 – Phil

+0

嗨@菲爾,我特別不希望它開始點擊,或者我完全錯過了點?我的大腦進入超速,我不知道爲什麼我不能弄明白。 – seb

+0

我想你可以在視頻播放器的頂部繪製一個透明的div,並停止點擊這種方式? – Phil

回答

9

修訂FIDDLE

試試這個:

var $$ = function(tagname) { return document.getElementsByTagName(tagname); } 

function onYouTubeIframeAPIReady() { 
    var videos = $$('iframe'), // the iframes elements 
     players = [], // an array where we stock each videos youtube instances class 
     playingID = null; // stock the current playing video 
    for (var i = 0; i < videos.length; i++) // for each iframes 
    { 
     var currentIframeID = videos[i].id; // we get the iframe ID 
     players[currentIframeID] = new YT.Player(currentIframeID); // we stock in the array the instance 
     // note, the key of each array element will be the iframe ID 

     videos[i].onmouseover = function(e) { // assigning a callback for this event 
      var currentHoveredElement = e.target; 
      if (playingID) // if a video is currently played 
      { 
       players[playingID].pauseVideo(); 
      } 
      players[currentHoveredElement.id].playVideo(); 
      playingID = currentHoveredElement.id; 
     }; 
    } 

} 
onYouTubeIframeAPIReady(); 

小提琴:

http://jsfiddle.net/gpJN4/3/

+0

打電話給我一個白癡,但在代碼的情況下,我已經/有多個視頻的情況? 對不起,只是試圖讓我的頭。 – seb

+1

唯一的問題是視頻不會暫停。我試圖獲取它,這樣您就可以滾動視頻,並且您的鼠標所播放的視頻會播放,直到您播放另一個視頻。 – seb

+0

更新....請投票並嘗試之前要求進步;) –