// now pause all active videos
$('.vid').get(0).pause();
$('.vid').get(1).pause();
$('.vid').get(2).pause();
这就是我现在所拥有的,但它并不理想。我有点累了,所以我可能会遗漏一些明显的东西,但是我怎么能告诉它暂停页面上所有 .vid 类的实例呢?
尝试
$('.vid').each(function() {
$(this).get(0).pause();
});
没有真正需要 jQuery,ES6 方式(应该在大多数现代浏览器中工作......)
对于所有<video>
标签:
document.querySelectorAll('video').forEach(vid => vid.pause());
或在您的情况下(寻找.vid
课程):
document.querySelectorAll('.vid').forEach(vid => vid.pause());
$("video").each(function() {
$(this).get(0).pause();
});
更一般?所有视频!
Video.js 将页面上的所有播放器存储在V .players 中的一个对象中,因此您可以执行以下操作。
普通JS
for( player in window._V_.players ) {
window._V_.players[player].pause();
}
http://jsfiddle.net/3n1gm4/SNZAS/
jQuery
jQuery.each( window._V_.players, function( i, player ) {
player.pause();
});
http://jsfiddle.net/3n1gm4/cJ8jx/
普通JS
for( player in window.vjs.players ) {
window.vjs.players[player].pause();
}
jQuery
jQuery.each( window.vjs.players, function( i, player ) {
player.pause();
});
将
jQuery.each($('.vid'), pause)
工作?
此选项适用于所有浏览器。这是一个简单的for
循环来获取所有视频标签,然后暂停每个标签。
var videoList = document.getElementsByTagName("video");
for (var i = 0; i < videoList.length; i++) {
videoList[i].pause();
}