2012-05-08 3 views
0

video.js 플러그인을 사용하며 사이트가로드 될 때 재생되는 동영상 소개가 있습니다. 그것은 페이지가로드되고 z- 색인화되고 내 홈 페이지 위에 오버레이 된 div 컨테이너에있는 즉시 자동 재생으로 작동합니다.오버레이 페이드 아웃이 포함 된 SEO 용 HTML5 동영상 (video.js) 소개

jquery를 delay()으로 설정 한 다음 fadeOut() div로 내 홈 페이지를 나타냅니다.

이론 상으로는 모두가 서로 다른 연결 속도를 가지고 있으며 fadeOut()은 너무 일찍 또는 너무 늦게 발생합니다.

동영상이 중단되었을 때 fadeOut() 내 div로가는 방법이 있습니까?

$(document).ready(function() { 
     $("#overlay-video").delay(10000).fadeOut('slow'); 
    }); 

편집 : 내 HTML은 다음과 같습니다 답장에 대한

$(document).ready(function(){ 
    $("#movie-id").bind('ended', function(){ 
    alert("planet earth"); 
    }); 
}); 

감사 : 나는 또한 바로 다음 있지만이 또한 작동하지 않습니다를 시도

다음

내 jQuery를하다
<div id="overlay-video"> 
    <!-- Begin Video.js --> 
    <video id="movie-id" class="video-js vjs-default-skin alignleft" width="640" height="264" poster="http://video-js.zencoder.com/oceans-clip.png" controls preload="auto" autoplay data-setup="{}"> 
     <source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' /> 
     <source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm; codecs="vp8, vorbis"' /> 
     <source src="http://video-js.zencoder.com/oceans-clip.ogg" type='video/ogg; codecs="theora, vorbis"' /> 
    </video> 
    <!-- End Video.js --> 
</div> 

비디오 요소를 잘 페이드 처리 할 수 ​​있기 때문에 jQuery가 작동합니다.

+1

두 번째를 코드 스 니펫이 올바르게 보입니다. 동영상 끝까지 도달하면 '종료 됨'이 실행됩니다. 그렇지 않다면 아마도 다른 것이 틀렸을까요? 'timeupdate'를 바인드하면 어떨까요? (이것에'경고 '보다 덜 불쾌한 것을 묶어 라. - 나는 그것이 많이 작동해야한다고 믿는다. 왜냐하면 당신이 현대적인 브라우저에서 테스트하고 있다면,'console.log'는 훌륭하게 작동 할 것이다.) 브라우저가 수행 한 – apsillers

+0

당신은 (이름, 버전, OS)에서 테스트합니까? 잘못된 ID를 배제 할 수 있도록 HTML 코드도 추가하십시오. 어떤 jQuery 버전을 사용하고 있습니까? 1.7'.on()'으로 시작하는 것은'.bind()'를 대체합니다. (따라서 더 이상 사용되지 않습니다.) –

+0

@brettGolding, apsillers 제안이 –

답변

2

커플 일 : 단 하나의 doc.ready fxn는

  • 가장 중요한
  • on() 방법을 사용하여 홈 페이지의 모든 스크립트 (jQuery를 함께 1.7+), fadeOut()에 필요한

    1. on('ended') 함수 안에 있어야합니다.

    http://jsfiddle.net/trpeters1/XzCMb/1/

    $(document).ready(function(){ 
        $("#movie-id").on('ended', function() {    
         console.log('im done'); 
         $("#overlay-video").delay(10000).fadeOut('slow'); 
        }); 
    }); 
    

    그러나, 비디오 JS가에는 Video.js 객체에 대한 호출을 필요로 나타나므로 대신 이렇게 : 일반 HTML5 <video> 솔루션으로서,이 작업을해야 http://help.videojs.com/discussions/questions/509-videojs-and-passing-an-event-at-the-end-of-the-video

    _V_("#movie-id").ready(function(){ //note the different selector for the ready() fxn 
        this.addEvent("ended", function(){ //adding "ended" event to video-js object 
        { console.log('im done'); 
         $("#overlay-video").delay(10000).fadeOut('slow'); 
         } 
        }); 
    }); 
    
  • +0

    Nope 없습니다. fade로 비디오가 페이드 아웃 될 수 있습니다. 문제가 없습니다. 따라서 .on에 문제가 있습니다. 또는 .blind 함수. 내 HTML과 관련이있을 수 있습니까? 사실 비디오를 사용하고 있습니다.js wordpress plugin 또는 3 가지 비디오 소스가 있습니다. – BrettGolding

    +0

    @BrettGolding 내 jsfiddle 그것을 체크 아웃 작품을 확인하십시오 : http://jsfiddle.net/trpeters1/XzCMb/1/ 예, 나는 그것을 어떻게 든 재정의해야합니다 video.js 함께 할 것이라고 생각'on ('ended')'function –

    +0

    @BrettGolding이 링크를 확인하십시오 : http://help.videojs.com/discussions/questions/509-videojs-and-passing-an-event-at-the-end-of-the-video it especially deal video.js 객체를 on ('ended')'로 호출하면됩니다. 여기에 필요한 코드가 있습니다 :'' –