javascript - html5-video by 按钮 $(...).play 不是函数

标签 javascript jquery html5-video

我尝试通过按钮逐个播放视频或在视频末尾自动播放视频。 通过这段代码:

//automatically play
$("#videoPlayer").bind('ended', function() {
if(cnt <= 10 && bNum == 0) cnt++;
$('#videoPlayer').attr('poster','./media/spot'+cnt+'.jpg').html('<source src="./media/spot'+cnt+'.mp4" type="video/mp4"><source src="./media/spot'+cnt+'.ogg" type="video/ogg"><source src="./media/spot'+cnt+'.webm" type="video/webm">');
$('#video-title').html('Spot '+cnt);
if(cnt < 10) {
  this.load();
  this.play();
  cnt++;
}
bNum = 1;
if(cnt >= 10) $('.link1').remove();
});

//Play by the button
$('.link1').on('click', function() {
  if(cnt < 10 && bNum == 0) cnt++;
  $(this).attr('rel', cnt).attr('title', 'Spot '+cnt);
  $('#videoPlayer').attr('poster','./media/spot'+cnt+'.jpg').html('<source src="./media/spot'+cnt+'.mp4" type="video/mp4"><source src="./media/spot'+cnt+'.ogg" type="video/ogg"><source src="./media/spot'+cnt+'.webm" type="video/webm">');
  $('#video-title').html('Spot '+cnt);
  if(cnt >= 10) $('.link1').remove();
  if(cnt <= 10) {
    if($('#videoPlayer').load()) $('#videoPlayer').play();
    cnt++;
  }
});

html部分是:

<video width="640" id="videoPlayer" autoplay preload="metadata" poster="./media/spot1.jpg">
<source src="./media/spot1.ogg" type="video/ogg">
<source src="./media/spot1.mp4" type="video/mp4">
<source src="./media/spot1.webm" type="video/webm">
Your browser does not support the video tag.
</video></div>
<ul>
<li class="link1" rel="2">Nächster Spot </li>
</ul>
</div>

自动部分运行良好,没有错误。但是按钮部分在该行出现错误;

$('#videoPlayer').play(); 

带有消息

"$(...).play is not a function". 

我找不到原因。 (对于 this.play() 我也可以在自动部分写 $('videoPlayer') ,是一样的。)

最佳答案

$('#videoPlayer') 为您提供一个 jQuery 对象,并且该 jQuery 对象没有 play 方法。您正在寻找的 play 方法位于 jQuery 对象内的 native dom 元素中。要访问其中的元素,只需使用数组语法或 .get()。例如$('#videoPlayer')[0].play();$('#videoPlayer').get(0).play();

关于javascript - html5-video by 按钮 $(...).play 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15466174/

相关文章:

javascript - 在 AJAX 调用上具有固定标题的 HTML 表格

javascript - 表单输入在焦点上显示隐藏默认值

jquery - 动态定位 div 的最后一个子元素(匹配游戏)

javascript - 大写名称 - 改变原始数组

javascript - 在 window.onload 上使用 AJAX 加载内容

javascript - 如何升级google+按钮?

jquery - cordova Ratchet 弹出框从弹出框选择项目然后点击 "menu"按钮使整个屏幕变白

javascript - 更改底部 html 视频菜单的设计

javascript - iPad 上的 HTML5 视频 "Black Screen"

google-chrome - 视频无法在 Chrome 中循环和搜索