【发布时间】:2019-07-21 20:49:40
【问题描述】:
这里没有人回答我的问题,但也许这是一个简单的问题? 我是编码新手,我正在尝试找到一种导航视频的方法,例如播放前 10 秒然后停止,播放 30-40 秒然后停止,播放第二个 60-30 然后停止等,并有按钮为了它。我找到了一个教程,但按钮没有响应。我已经清理了一些代码(不要认为我删除了任何必要的内容)并将其粘贴在下面。 教程链接: https://www.sitepoint.com/html5-video-fragments-captions-dynamic-thumbnails/
HTML:
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<section class="wrapper">
<div>
<video id="frag1" controls preload="metadata">
<source src="assets/disney.mp4" type='video/mp4;codecs="avc1.42E01E, mp4a.40.2"' data-original="assets/disney.mp4">
<source src="assets/disney.mp4" type='video/webm;codecs="vp8, vorbis"' data-original="assets/disney.mp4">
</video>
<nav>
<button data-start="0">Section One</button>
<button data-start="6">Section Two</button>
<button data-start="17">Section Three</button>
</nav>
</div>
</section>
</body>
</html>
CSS:
@charset "UTF-8";
#main { width: 85%; margin: 1em auto; }
section>div { margin: 0 1.5% 1.5% 0; padding: 1.5%; float: left; background-color: #efefef; }
video { width: 100%; min-height: 430px; }
button { cursor: pointer; }
nav>button { margin: 0.27em; }
nav>button:first-child { margin-left: 0; }
.wrapper { width: 520px; margin: auto; overflow: hidden; text-align: center; }
.p {
text-align: center;
padding-top: 120px;
}
Resources 1×0.5×0.25× Rerun
JAVASCRIPT:
function mediaFragOne()
{
var video, sources, nav, buttons;
video = document.querySelector('video#frag1');
sources = video.getElementsByTagName('source');
nav = document.querySelector('video#frag1+nav');
buttons = nav.getElementsByTagName('button');
for(var i = buttons.length - 1; i >= 0; i--)
{
buttons[i].addEventListener('click', function() {
for (var i = sources.length - 1; i >= 0; i--) {
sources[i].setAttribute(
'src', (sources[i].getAttribute('data-original')
.concat('#t=' + this.getAttribute('data-start'))));
video.load();
video.play();
};
});
}
}
mediaFragOne();
【问题讨论】:
标签: javascript html video