使用jQuery在
HTML5视频标签上遇到问题.这是我的代码:
<video id="vid" height="400" width="550"> <source src="movie.mp4" type="video/mp4"> <source src="movie.ogv" type="video/ogg"> </video>
Javascript代码:
function playVid(){ console.log($('#vid')); console.log($('#vid')[0]); $('#vid')[0].currentTime=5; $('#vid')[0].play() } $(document).ready(){ playVid(); }
InvalidStateError: An attempt was made to use an object that is not,or is no longer,usable
这是我无法想象的一点 – 第一个console.log显示了我期望的对象,在这个对象内部是另一个被称为0的对象,这个对象包含你期望的所有HTML5视频属性和方法,包括.currentTime.
然而,一旦我做了$(‘#vid’)[0]的第二个日志,它会显示视频标签的HTML代码,而不是我在调用0之后的对象.我得到与console.log完全相同的结果($(‘#vid’)[“0”])和console.log($(‘#vid’).get(0)).
有没有办法在jQuery中使用的$(‘#vid’)返回的对象中获取名为0的对象?
解决方法
我想您正在尝试与视频元素进行交互,然后再准备就绪.
尝试这样的东西:
function loadStart(event) { video.currentTime = 1.0; } function init() { video.addEventListener('loadedMetadata',loadStart,false); } document.addEventListener("DOMContentLoaded",init,false);