javascript - Loading HTML Video With jQuery -
so trying to load different video based on screen size of device.
here jquery:
var v = new array();  v[0] = [       "header.webm",       "header.ogv",       "header.mp4"       ]; v[1] = [       "mobhead.webm",       "mobhead.ogv",       "mobhead.mp4"       ];  var src = $('#bgvid source');  if(window.innerwidth >= 642){   src.attr("src", v[0]); } if(window.innerwidth <= 641){   src.attr("src", v[1]); } here html:
<video autoplay="" loop="" poster="" id="bgvid">   <source src="" type="video/webm">   <source src="" type="video/ogg">   <source src="" type="video/mp4"> </video> here browser output:
<video autoplay="" loop="" poster="" id="bgvid">   <source src="header.webm,header.ogv,header.mp4" type="video/webm">   <source src="header.webm,header.ogv,header.mp4" type="video/ogg">   <source src="header.webm,header.ogv,header.mp4" type="video/mp4"> </video> you can see problem lies. need load them proper cascading order , not load them same section.
how can this?
since have jquery in project, use it:
html:
<video autoplay="" loop="" poster="" id="bgvid">   <source id="webmvid" src="" type="video/webm">   <source id="oggvid" src="" type="video/ogg">   <source id="mp4vid" src="" type="video/mp4"> </video> js:
var v = [];  v[0] = ["header.webm", "header.ogv", "header.mp4"]; v[1] = ["mobhead.webm", "mobhead.ogv", "mobhead.mp4"];  var index = window.innerwidth <= 641 ? 1 : 0;  $('#webmvid').attr('src', v[index][0]); $('#oggvid').attr('src', v[index][1]); $('#mp4vid').attr('src', v[index][2]); basically made if-case shorter , targeted each video src id , jquery.
Comments
Post a Comment