音乐播放器使用相同的id播放所有内容
Music player plays all with the same id
我正在尝试制作一个音乐播放器,当用户点击按钮时,覆盖的图像将更改为stop.png并播放歌曲。当用户再次点击它时,它会将图像更改为play.png并停止播放歌曲。
<audio id="myAudio">
<source src="http://www.w3schools.com/jsref/horse.ogg" type="audio/ogg">
<source src="http://www.w3schools.com/jsref/hors.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<script>
function plaYer() {
var image = document.getElementById('myImage');
var x = document.getElementById("myAudio");
if (image.src.match("play")) {
image.src = "stop.png";
x.play();
} else {
image.src = "play.png";
x.pause();
}
}
</script>
<button id="song"
style="color: white; background-image: url('cover100.jpg'); border: none; outline: none; display:block;
width:100px;
height:100px;">
<img id="myImage" onclick="plaYer()" src="play.png" width="100" height="100">
</button>
我的问题是,当我尝试创建2个音乐播放器时,另一个音乐播放器不起作用。有人能帮我吗?
ID必须是唯一的。如果你想重用你的函数,你不能硬编码其中的ID。由于你使用内联事件处理程序,你已经可以访问image元素了。将该信息加上相应<audio>
元素的ID传递给您的函数:
function plaYer(image, audioID) {
var x = document.getElementById(audioID);
// rest of your code ...
}
// HTML
<img id="myImage" onclick="plaYer(this, 'myAudio')" ... />
我建议阅读quicksmode.org上的优秀文章,了解更多关于事件处理的信息。
相关文章:
- 如何播放部分音频文件
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 播放当前视频时如何停止其他视频?JavaScript
- 音乐播放器使用相同的id播放所有内容
- 如何将特定 ID 传递给嵌入式 YouTube 播放器
- 提交youtube播放列表id并从id加载播放列表
- Youtube API:查看当前正在播放哪个视频id
- 如何添加id和额外的参数到一个放大弹出iframe与youtube视频,所以我可以控制与API youtube播放器
- 引导模式的目标 id,用于在模式关闭时停止播放视频
- 将“结束”事件绑定到没有 ID 或类的声音播放
- 声音云自定义播放器 - “id 属性为空”错误
- YouTube,在PlayerReady上,使用for循环获取数组中与单击箭头位置匹配的视频ID并播放
- 获取所有视频ID'使用YouTube API将从YouTube播放列表转换为PHP数组
- 单击链接时替换gdata播放列表提要中的播放列表id
- 获取下一个播放视频的视频id
- 如何使用Regex和JS检索youtube播放列表id
- 如何获得播放列表Id(s)包含给定的视频Id通过youtube-api
- SoundManager2(音频播放器):检索单击的链接的ID