如何制作多个播放按钮?
问题描述:
我有一个按钮的代码,如何做多个? image example如何制作多个播放按钮?
我试图绕过所有的元素,但轨道同时播放。
http://codepen.io/anon/pen/mmyaQx
jQuery的,我做到了,但我不能在本地JavaScript。
window.onload = function(){
var myAudio = document.getElementById('my-audio');
var play = document.getElementById('play');
var pause = document.getElementById('pause');
var loading = document.getElementById('loading');
var bar = document.getElementById('bar');
function displayControls() {
loading.style.display = "none";
play.style.display = "block";
}
// check that the media is ready before displaying the controls
if (myAudio.paused) {
displayControls();
} else {
// not ready yet - wait for canplay event
myAudio.addEventListener('canplay', function() {
displayControls();
});
}
play.addEventListener('click', function() {
myAudio.play();
play.style.display = "none";
pause.style.display = "block";
});
pause.addEventListener('click', function() {
myAudio.pause();
pause.style.display = "none";
play.style.display = "block";
});
// display progress
myAudio.addEventListener('timeupdate', function() {
//sets the percentage
bar.style.width = parseInt(((myAudio.currentTime/myAudio.duration) * 100), 10) + "%";
});
}
#controls {
width: 80px;
float: left;
}
#progress {
margin-left: 80px;
border: 1px solid black;
}
#bar {
height: 20px;
background-color: green;
width: 0;
}
<audio id="my-audio">
<source src="http://jPlayer.org/audio/mp3/Miaow-07-Bubble.mp3" type="audio/mpeg">
<source src="http://jPlayer.org/audio/ogg/Miaow-07-Bubble.ogg" type="audio/ogg">
</audio>
<div id="controls">
<span id="loading">loading</span>
<button id="play" style="display:none">play</button>
<button id="pause" style="display:none" >pause</button>
</div>
<div id="progress">
<div id="bar"></div>
</div>
答
我不知道你想达到的目标,但似乎您试图推倒重来......
你知不知道,你可以使能控制HTML5音频播放器? :)
<audio controls>
<source src="http://jPlayer.org/audio/mp3/Miaow-07-Bubble.mp3" type="audio/mpeg">
<source src="http://jPlayer.org/audio/ogg/Miaow-07-Bubble.ogg" type="audio/ogg">
</audio>
答
这样的事情会帮助你..
进行函数,而不是在window.onload和paremetrize吧..然后调用每个启动功能..
function start(){
buildOne('my-audio', 'play', 'pause', 'loading', 'bar');
buildOne('my-audio2', 'play2', 'pause2', 'loading2', 'bar2');
}
window.onload = start;
+0
感谢您的回答。页面上的元素数量并不总是相同的。这个选项不适合。我试图让类而不是id,并通过点击方法(像每个在jquery中的方法),但它没有成功。 – Massef
是的,我知道。但我需要一个自定义按钮。 在页面上,有几个播放按钮会在暂停时更改。不需要更多的控制。 – Massef
进度条仅用于视觉示例(突然没有声音的人),我也删除它。 – Massef
@Massef“在页面上有几个播放按钮在暂停时发生变化。”你什么意思?为什么你需要几个播放按钮? – Badacadabra