javascript - 如何在模态内的 HTML 5 Video 元素中定位自动播放属性

标签 javascript jquery html video

我在模态窗口中有一个 HTML 5 视频元素。现在我需要检查是否打开了模态并且视频元素具有自动播放功能然后播放视频。如果视频没有自动播放属性则不播放视频。

http://codepen.io/hennysmafter/pen/YqmLKR

有关完整代码,请查看上面的 Codepen。

<video id="somevid" controls autoplay loop>
 <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
 <source src="http://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg">
 Your browser does not support HTML5 video.
</video>

因此它需要以 autoplay 为目标并且它不能使用视频中的 ID 字段它应该以 id: popup1 中的视频元素为目标参见 Codepen!

$(document).ready(function(){
    $('a[data-modal-id]').click(function(e) {
        e.preventDefault();     
            if ($('.modal-box.opened').find('video').attr(autoplay) == true) {
                console.log('CLICK: ModalBox if Video Autoplay is true.');
            }
    });             
});

问题出在上面的代码。现在我知道这只会给我一个仅用于测试的日志。

此代码给出错误:Uncaught ReferenceError: autoplay is not defined

预先感谢您的帮助。

最佳答案

您正在使用变量 autoplay 而不是字符串 "autoplay",请尝试将您的代码更新为:

if ($('.modal-box.opened').find('video').attr('autoplay') == true) {
  console.log('CLICK: ModalBox if Video Autoplay is true.');
}

更新:

试试这个:

if (($('.modal-box.opened').find('video').attr('autoplay') === 'autoplay')) {
  $('.modal-box.opened').find('video').get(0).play();
}

关于javascript - 如何在模态内的 HTML 5 Video 元素中定位自动播放属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37416228/

相关文章:

javascript - 未捕获的 TypeError : $(. ..).anotherfunc 不是函数

javascript - 忽略当前类 jquery

html - 创建两个中间没有空格的按钮

javascript - 为什么 {}__proto__ instanceof !== 对象

javascript - 当 touchend 事件在 div 上启动时,iOS 上不会触发该事件

jquery - 以相反的顺序访问同一类的元素

css - Div 以另一个 div 为中心

css - 在 Firefox 中单击输入时,如何防止占位符隐藏?

javascript - 使用 jQuery 显示/隐藏表头

javascript - 在 JavaScript/TypeScript 中迭代 Json 数据