2012-04-10 3 views
0

div 안에 내재 된 YouTube 동영상이있는 div가 있습니다. 나는 처음 방문객에게 짧은 비디오를 보여줄 의도로 내 웹 사이트의 다른 이미지 위에 배치하고 비디오의 div를 숨겨서 페이지의 원래 내용을 나타냅니다.YouTube 동영상 종료시 Div를 숨기기

나는 클릭 이벤트로 내 div를 숨기고 표시하는 방법을 알고 있지만 Javascript는 매우 새로 습득되었습니다. YouTube 동영상이 종료되고 표시 여부가 결정되는 함수를 작성하는 데 도움이 필요합니다. 내 div에 숨겨져 있습니다. 어떤 도움이라도 대단히 감사합니다!

답변

1

이벤트 섹션에 특히주의하면서 documentation을주의 깊게보고 싶습니다.

당신은

되고 onStateChange을 사용하는 것입니다 : 이 이벤트는 때마다 플레이어의 상태 변경을 발생합니다. 가능한 값은 unstarted (-1), 종료 (0), 재생 (1), 일시 중지 (2), 버퍼링 (3), 비디오 큐 (5)입니다. SWF가 처음로드되면 브로드 캐스트가 시작되지 않은 (-1) 이벤트입니다. 비디오가 큐되고 재생 준비가되면 비디오 신호 이벤트 (5)를 브로드 캐스팅합니다.

및 상태가 종단 ​​의미 0, 같을 때 당신이 뭔가를하고 싶은 것, 아래에 비슷한 : 당신이 또는 addEventListener에 문제가있는 경우

// attach your listener 
    function onYouTubePlayerReady(playerId) { 
     var ytplayer = getElementById("myytplayer"); 
     ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); 
    } 
// your callback function 
    function onytplayerStateChange(newState) { 
     if (newState === 0){ 
      $('yourContainingDiv').hide(); 
      // or if you want to just remove it... 
      $('yourContainingDiv').remove(); 
     } 
    } 

YouTube player api - addEventListener() does not work for me?

확인

addEventListener는 IE의 초기 버전에서 지원되지 않으므로 약간 버그 일 수 있습니다.

+0

고마워요! 그래도 addEventListener가 실행되지 않는다는 문제가 있습니다. 나중에 같은 {} 안에서 경고를 추가하려고 시도했지만 거기에 도달하지 못했습니다. 내가 뭘 잘못하고 있는지에 대한 아이디어는? 내가 사용하고있는 다른 JS 파일과 swfobject.js의 요소를 모두 제거하려고했지만 아무 도움이되지 않습니다. –

+0

내 편집을 체크 아웃하고 ytplayer = $ ('# myytplaer')를 ytplayer = getElementById ("myytplayer")로 변경하십시오. – Evan

+0

완벽! 그것은 나를 위해 IE9에서 작동합니다. :) –