在同一页面上的多个视频上显示播放按钮 [英] Displaying a Play button on Multiple videos on the same page
问题描述
在 Javascript 方面,我是一个完整的新手(& 复制和粘贴那种人;)...所以我在尝试弄清楚如何执行以下操作时遇到了一些问题:
>- 我有一个幻灯片库,里面有 2 个 mp4 视频在同一组中
- 我发现了一些在 mp4 视频上覆盖播放按钮的 javascript
- 但是......当我有一个视频时,代码工作正常 - 但是当我放置第二个视频时,我无法让重叠的箭头同时工作......
冲突的类/变量(或类似的东西)有一个明显的问题 - 但我想不通......
HTML:
<div class="swiper-slide"><div class="video-wrapper-two"><视频控件 preload="metadata" class="pure-img video" poster="assets/posters/poster_adele-BBC.jpg"><source src="http://d1wv6pnepp7p5s.cloudfront.net/AA_BBC_ALL_CUTDOWN_02.mp4" type="video/mp4"></source></视频>
Javascript:
javascript 可以很好地处理第一个包装器,我只是很难让第二个包装器正确显示播放按钮...
感谢任何帮助.
问题是
videoWrapper = document.getElementsByClassName('video-wrapper')[0],video = document.getElementsByTagName('video')[0],
只指定第一组
您应该将其设为函数并调用两次.
var videoPlayButton;功能添加方法(视频,视频包装器){返回 {渲染视频播放按钮:函数(){如果(videoWrapper.contains(视频)){this.formatVideoPlayButton()video.classList.add('has-media-controls-hidden')videoPlayButton = document.getElementsByClassName('video-overlay-play-button')[0]videoPlayButton.addEventListener('click', this.hideVideoPlayButton)}},格式视频播放按钮:函数(){videoWrapper.insertAdjacentHTML('beforeend', '\<svg class="video-overlay-play-button" viewBox="0 0 200 200" alt="播放视频">\<circle cx="100" cy="100" r="90" fill="#000" stroke-width="5" stroke="#fff"/>\<polygon points="70, 55 70, 145 145, 100" fill="#fff"/>\</svg>\')},隐藏视频播放按钮:函数(){视频播放()videoPlayButton.classList.add('is-hidden')video.classList.remove('has-media-controls-hidden')video.setAttribute('控件', '控件')}}}addMethod(document.getElementsByTagName('video')[0],document.getElementsByClassName('video-wrapper')[0]).renderVideoPlayButton();addMethod(document.getElementsByTagName('video')[1],document.getElementsByClassName('video-wrapper-two')[0]).renderVideoPlayButton();
<div class="swiper-slide"><div class="video-wrapper-two"><视频控件 preload="metadata" class="pure-img video" poster="assets/posters/poster_adele-BBC.jpg"><source src="http://d1wv6pnepp7p5s.cloudfront.net/AA_BBC_ALL_CUTDOWN_02.mp4" type="video/mp4"></source></视频>