单击时手动停止/跳过视频

时间:2017-01-16 09:28:45

标签: javascript jquery video

当用户点击允许用户跳过视频的end时,我正在尝试skip button视频。

我一直在使用以下内容,这一切都很好,并允许我在视频结束时触发操作。

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();
});

3 个答案:

答案 0 :(得分:0)

jQuery中的end()方法用于返回上一个选择器。

来自jQuery docs的描述:

  

结束当前链中最近的过滤操作,并将匹配元素集返回到先前的状态。

要停止视频获取dom对象,然后使用HTMLMediaElement#pause方法。虽然最终使用trigger()方法以编程方式触发ended事件。

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

答案 1 :(得分:0)

将视频移动到播放结束并不是一件简单的操作,因为您需要首先获取视频的长度,然后移动到该点。

更简单的替代方法是提取ended下调用的逻辑,并在单击按钮时调用它。试试这个:

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

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

function videoEnded() {
    // do stuff here
}

Working example

答案 2 :(得分:0)

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