// 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();
});
ES6の方法であるjQueryは実際には必要ありません(ほとんどの最新のブラウザーで機能するはずです...)
すべての<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();
}