console
window.onload = function() {
var box = document.getElementById("box");
var audio = document.getElementById("audio");
var play = document.getElementById("play");
play.onclick = function() {
if (audio.paused) {
play.className = "pause";
audio.play();
} else {
play.className = "play";
audio.pause();
}
}
var progress = document.getElementById("progress");
var bar = document.getElementById("bar");
var control = document.getElementById("control");
audio.addEventListener("timeupdate", function() {
var scales = audio.currentTime / audio.duration;
bar.style.width = progress.offsetWidth * scales + "px";
control.style.left = progress.offsetWidth * scales - 12 + "px";
},
false)
control.onmousedown = function(e) {
audio.pause();
document.onmousemove = function(e) {
var leftv = e.clientX - progress.offsetLeft - box.offsetLeft;
if (leftv <= 0) {
leftv = 0;
}
if (leftv >= progress.offsetWidth) {
leftv = progress.offsetWidth;
}
control.style.left = leftv + "px"
}
document.onmouseup = function() {
var scales = control.offsetLeft / progress.offsetWidth;
audio.currentTime = audio.duration * scales;
audio.play();
document.onmousemove = null;
document.onmousedown = null;
}
}
}
<audio src="http://ting666.yymp3.com:86/new27/mljyyj/1.mp3" controls=controls id="audio">
</audio>
<div id="box">
<div id="play" class="play">
</div>
<input type="button" onclick="audio.play();" value="播放音频">
<input type="button" onclick="audio.pause()" value="暂停音频">
<div id="progress">
<span id="bar">
</span>
<div id="control">
</div>
</div>
</div>
#box {
width: 300px;
height: 60px;
background: #434343;
border-radius: 10px;
position: absolute;
}
#box .play {
width: 32px;
height: 32px;
background: url(images/play.svg);
position: relative;
top: 14px;
left: 8px;
cursor: pointer;
float: left;
}
#box .pause {
width: 32px;
height: 32px;
background: url(images/pause.svg);
position: relative;
top: 14px;
left: 8px;
cursor: pointer;
float: left;
}
#progress {
float: left;
width: 80%;
height: 3px;
background: #ccc;
position: relative;
top: 29px;
left: 20px;
}
#bar {
width: 0%;
height: 100%;
background: #39f;
display: inline-block;
position: relative;
top: -11.8px;
left: 0
}
#control {
width: 10px;
height: 10px;
background: #fff;
position: relative;
top: -25px;
left: -12px;
border-radius: 100%;
border: 3px solid rgba(0, 0, 0, 0.4);
cursor: pointer;
}