jQuery/HTML5 模态视频如果存在自动播放播放视频
jQuery/HTML5 modal video if autoplay is present play video
为了更容易理解请看一下Codepen:
http://codepen.io/hennysmafter/pen/YqmLKR
codepen 是实际代码的简化版本,只有必要的部分!
在 codepen 中你有两个弹出窗口,一个弹出窗口有一个视频元素 with autoplay,另一个有一个视频元素 without autoplay
文档就绪时,页面上的所有视频元素都暂停由于实际代码中有其他视频,因此无法更改
现在我只需要调整代码以便:
- 点击弹出窗口并添加 class
opened
(已经存在)
- 如果弹出窗口中的视频元素具有自动播放功能,则播放视频(不工作)
或者没有自动播放所以什么都不做
if ($('.modal-box.opened').find('video').attr(autoplay) == true) {
$('.modal-box.opened').find('video').each(function() {
$(this).get(0).play();
});
}
您有两个常见的错误:在检查 autoplay
是否为真的部分,您 只使用了 1 个等号 。
单个 =
用于设置变量,其中两个用于检查相等性。
编辑: 您还试图对 jQuery 对象使用传统的 HTML 样式属性检查。要检查 jQuery 中的属性,您需要使用 .attr(attributeName)
因此,正确的行应该是 if ($('.modal-box.opened').find('video').attr(autoplay) == true) {
为了更容易理解请看一下Codepen: http://codepen.io/hennysmafter/pen/YqmLKR
codepen 是实际代码的简化版本,只有必要的部分!
在 codepen 中你有两个弹出窗口,一个弹出窗口有一个视频元素 with autoplay,另一个有一个视频元素 without autoplay
文档就绪时,页面上的所有视频元素都暂停由于实际代码中有其他视频,因此无法更改
现在我只需要调整代码以便:
- 点击弹出窗口并添加 class
opened
(已经存在) - 如果弹出窗口中的视频元素具有自动播放功能,则播放视频(不工作)
或者没有自动播放所以什么都不做
if ($('.modal-box.opened').find('video').attr(autoplay) == true) { $('.modal-box.opened').find('video').each(function() { $(this).get(0).play(); }); }
您有两个常见的错误:在检查 autoplay
是否为真的部分,您 只使用了 1 个等号 。
单个 =
用于设置变量,其中两个用于检查相等性。
编辑: 您还试图对 jQuery 对象使用传统的 HTML 样式属性检查。要检查 jQuery 中的属性,您需要使用 .attr(attributeName)
因此,正确的行应该是 if ($('.modal-box.opened').find('video').attr(autoplay) == true) {