2017-01-16 8 views
1

사용자가 비디오를 건너 뛰는 것을 허용하는 skip button을 클릭하면 나는 비디오를 end에 보내려고합니다.클릭시 수동으로 비디오 건너 뛰기/건너 뛰기

저는 다음을 사용하고 있습니다. 동영상이 끝나면 모든 작업을 시작할 수 있습니다.

HTML

<video autoplay> 
    <source src="video.mp4" type="video/mp4"> 
</video> 
<button class="skip">Skip video</button> 

JS는

$('video').on('ended',function(){.... 
    //do stuff here 
} 

그러나, 나는 다음과 같은 일을하고 싶지만,이를 구현하는 방법을 잘하지.

$('.skip').click(function(){ 
    $('video').end(); 
}); 
+0

? JS 코드에서 –

+0

은 '종료되었습니다'와 같은 이벤트가 있습니까? –

답변

0

다시 이전의 선택을 얻기 위해 사용하는 jQuery를에 end() 방법. 문서로부터의 jQuery

설명 :

단부 현재 체인에서 가장 최근의 필터링 동작과 그 이전 상태에 매칭 소자들의 세트를 리턴한다.


비디오 가져 오기 DOM 객체를 중지 한 후 HTMLMediaElement#pause 방법을 사용하십시오. 결국 ended 이벤트를 trigger() 메서드를 사용하여 프로그래밍 방식으로 트리거합니다.

$('.skip').click(function(){ 
    $('video').trigger('ended')[0].pause(); 
}); 
+0

'pause()'는'ended' 이벤트를 발생시키지 않습니다. –

+0

@RoryMcCrossan은'ended' 이벤트를 발생시킬 수있는 방법이 있습니까? –

+0

@phantom yep -'trigger ('ended') ' –

0

재생 종료까지 비디오를 이동하는 것은 비디오의 길이를 먼저 얻은 다음 그 지점으로 이동해야하기 때문에 간단한 작업이 아닙니다.

훨씬 간단한 대안은 ended 아래에 호출 된 로직을 추출하고 버튼을 클릭 할 때 호출하는 것입니다. 이 시도 : 당신이 jsfiddle.net에 표시 할 수

$('video').on('ended', function() { 
    videoEnded(); 
}) 

$('.skip').click(function() { 
    $('video')[0].pause(); 
    videoEnded(); 
}); 

function videoEnded() { 
    // do stuff here 
} 

Working example

0
$('.skip').click(function(){ 
    $('video')[0].load(); 
    $('video')[0].pause(); 
});