HTML5视频控件不起作用

Fre*_*eph 5 javascript css video jquery html5

我做了很多研究,虽然有些问题/评论确实指出了我正确的方向,但我仍然保持不变.

摘要:HTML5视频显示控件但无法单击它们.当你浏览它们时,它们会消失.你不能点击暂停,播放,静音,什么都没有.请帮我弄清楚发生了什么.

该网站是www.innovo-medical.com(如果你想看看发生了什么)

手续如下:

div.video-background {
    height: 100%;
    left: 0;
    overflow: hidden;
    /*position: fixed;
    top: 96px;*/
    vertical-align: top;
    width: 1180px;
    /*z-index: -1; */
	padding-top:75px;
    position:relative;
    margin: 0 auto;
    margin-bottom:-70px;
}
div.video-background video {
    min-height: 100%;
    min-width: 100%;
    z-index: -2 !important;
}
div.video-background > div {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
}
div.video-background .circle-overlay {
    left: 50%;
    margin-left: -590px;
    position: absolute;
    top: 120px;
}
div.video-background .ui-video-background {
    display: none !important;
}
Run Code Online (Sandbox Code Playgroud)
<div class="video-background" id="video-background">
        <video loop="loop" autoplay poster="{{ 'Ladyinblue.jpg' | asset_url }}" width="100%" controls="1">
            <source src="{{ 'InnovoThermometer.mp4' | asset_url }}" type="video/mp4">
            <source src="{{ 'InnovoThermometer.webm' | asset_url }}" type="video/webm">
            <source src="{{ 'InnovoThermometer.ogg' | asset_url }}" type="video/ogg">
            <img alt="" src="{{ 'Ladyinblue.jpg' | asset_url }}" width="640" height="360" title="No video playback capabilities,   please download the video below">
        </video>
</div>
Run Code Online (Sandbox Code Playgroud)

zer*_*0ne 5

更新

虽然在<img>标签内部<video>标签是错误的,但这不是你的问题.当屏幕调整为狭窄时,您的视频控制栏会有几个元素重叠.不要试图削减有问题的元素的高度并冒着布局稳定性的风险,只需在CSS中输入以下内容:

div.video-background {
    z-index: 99999;
}

**OR**

div.video-background video {
    z-index: 1 !important;
}
Run Code Online (Sandbox Code Playgroud)

你有一个<img>内部的标签<video>标签,它需要被删除:

<video loop="loop" autoplay="" poster="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/Ladyinblue.jpg?4954843373998890788" width="100%" controls="">
        <source src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.mp4?4954843373998890788" type="video/mp4">
        <source src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.webm?4954843373998890788" type="video/webm">
        <source src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.ogg?4954843373998890788" type="video/ogg">
        <!---REMOVE THIS TAG--<img alt="" src="//cdn.shopify.com/s/files/1/0641/4457/t/3/assets/Ladyinblue.jpg?4954843373998890788" width="640" height="360" title="No video playback capabilities, please download the video below">---REMOVE THIS TAG --->
    </video>
Run Code Online (Sandbox Code Playgroud)

除了它在<video>标签内无效之外,它还禁止它如何处理用户交互.该属性[poster]已经在<video>标记中,因此您无需担心在空闲时无法显示静态图像.

  • 哇,那真是太糟糕了.好的,删除OGG视频,不需要它.然后将Webm和MP4的末尾修剪到文件扩展名(例如`src ="// cdn.shopify.com/s/files/1/0641/4457/t/3/assets/InnovoThermometer.mp4"`什么是发生的事情是每个视频文件的哈希都是相同的,并且浏览器变得混乱,因为它看起来像是一个扩展而又是同一个文件,因此浏览器会在按钮点击后连续播放它们. (4认同)
  • 我以为那就完成了......嗯.确定,变化`循环="循环"``到loop`则与此替换视频文件:`<源SRC ="http://glpjt.s3.amazonaws.com/so/av/vid4.mp4"类型= "视频/ MP4">`还不如这样做是为了:`<视频海报= "http://glpjt.s3.amazonaws.com/so/av/vid4.png" 循环控制WIDTH = "100%">` (3认同)
  • 好的,我会删除它!非常感谢你的帮助.也.关于如何更好地处理我的CSS和处理重叠元素的绝佳反馈!:) (2认同)
  • 还有一些我注意到的事情,在网上进行研究时,我意识到其他人提出了同样的问题,但没有人无法回答.看来,当点击视频时,音频开始播放,如果再次点击,音频会再次播放...最终你会有无数的音频在另一个上面播放.我以前从未见过这样的错误.我注意到它发生在所有浏览器上. (2认同)
  • 天才!你猜怎么着?因为你的建议我发现了问题!这是自动播放.由于某些原因,自动播放使其成功,如果你继续点击音频继续一遍又一遍地播放,但如果你删除自动播放,问题就会消失.坏消息是它不会自动播放(duh lol) (2认同)
  • 我将分享这些帖子,我在stackoverflow上找到了一个从未回答过的问题.如果问题从未得到解决,也许会给他们提供见解.非常感谢您的努力! (2认同)
  • 大声笑啊,的确!很明显,这将是经过这么多淘汰后剩余的最后一件事.您的欢迎,先生,并感谢您的挑战. (2认同)

小智 4

尝试使用:

$('.container.main.content').css('z-index',-1)
Run Code Online (Sandbox Code Playgroud)

我在你的网页上测试了它并且有效。

这是因为 div 放置在视频前面,并且控件未显示 为可点击

然后,如果您从 div 中删除-1对的设置z-index,视频将是可点击的

这是一种解决方案,但正确的方法是在 css 文件中找到要设置 div 的 z-index 值的位置并在那里进行更改,而不是添加脚本块来修复可以在源中更改的内容。

希望能帮助到你。

  • 这个就基本解决了这个问题。由于边距底部:-70px。div 与控件重叠。我真的很感谢你在这件事上的帮助。感谢您抽出宝贵时间来帮助我! (3认同)
  • 终于解决了。基本上删除自动播放并使用 jquery 自动播放视频:) 谢谢!! (3认同)
  • @弗雷德约瑟夫。我不确定......但如果这是由某些事件引起的,您可以通过解除所有事件的绑定来解决它: `$('video').off()` 甚至 `$('video').find( '*').addBack().off();` (2认同)