在屏幕尺寸上播放/暂停HTML5视频

时间:2015-01-30 16:44:47

标签: javascript html5-video

我想根据屏幕尺寸播放/暂停视频,例如,我希望视频在桌面上自动播放,但在平板电脑及其下方暂停。这是我到目前为止一直在玩的Javascript。

标记:

    <video id="cdev-video-selector" class="cdev-video-controls" autoplay controls loop>
            <source src="samplesource">
        </video>

JS:

$('#cdev-video-selector') {
   if ($(window).width() < 960) {
$('#cdev-video-selector').pause();
   } else {
$('#cdev-video-selector').play();
}
});

1 个答案:

答案 0 :(得分:1)

如果您计划根据窗口大小触发JS autoplay,请删除.play()

<video id="cdev-video-selector" controls loop>

您需要定位window对象的调整大小: jsBin demo

<子>的 jQuery的:

var $vid = $("#cdev-video-selector");
function videoHandler(){
    $vid[0][ $(window).width()<960 ? "pause" : "play" ]();
}
$(window).on("resize load", videoHandler); 

<子> <强> Plain JS jsBin demo:

var videoSel = document.getElementById("cdev-video-selector");

function videoHandler(){
  if(window.innerWidth < 960){
    videoSel.pause();
  }else{
    videoSel.play();
  }
}

window.addEventListener("resize", videoHandler, false);
window.addEventListener("load",   videoHandler, false); 

如果您喜欢,还可以将上述功能“简化”为: demo

var videoSel = document.getElementById("cdev-video-selector");
function videoHandler(){
    videoSel[window.innerWidth<960?"pause":"play"]();
}
videoHandler();
window.addEventListener("resize", videoHandler, false);