我想创建一个我有图像的网站,如果有人点击此图片,则应播放播放列表中的随机歌曲或类似内容。我有一个正在运行的代码来激活一首歌,但是如果我想要一首以上的歌曲它就不再有用了。
<html>
<head>
<title>title</title>
<link type="text/css" rel="stylesheet" href="style.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div id="headline">
<h1 id="hl">Headline</h1>
<img class="play" id="pic" src="pic.png"/>
<img class="pause" id="pic2" src="pic.png"/>
</div>
</body>
</html>
$(document).ready(function() {
$(".pause").css ('display', 'none');
$(".play").click (function(){
$(".play").css ('display', 'none');
$(".pause").css ('display', 'inline-block');
});
$(".pause").click (function(){
$(".play").css ('display', 'inline-block');
$(".pause").css ('display', 'none');
});
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'song1.mp3');
/*var audioElement2 = document.createElement('audio');
audioElement2.setAttribute('src', 'song2.mp3');*/
$.get();
audioElement.addEventListener("load", function() {
audioElement.play();
}, true);
/*audioElement2.addEventListener("load", function() {
audioElement2.play();
}, true);*/
var x = 1 /*Math.round(Math.random() * (2)) + 1*/;
if (x = 1) {
$('.play').click(function() {
});
/*} else {
$('.play').click(function() {
audioElement2.play();
});*/
}
$('.pause').click(function() {
audioElement.pause();
audioElement2.pause();
});
});
现在我想要不止一首歌,我不想使用音乐播放器。有没有办法用HTML,JS和jQuery解决这个问题?
答案 0 :(得分:1)
你应该有一个代表你的播放列表的数组,然后从中挑选一个随机元素并播放它
这样的事情:
var playlist = Array("song1.mp3", "song2.mp3", "song3.mp3");
var randomSong = playlist[Math.floor(Math.random()*playlist.length)];
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', randomSong);
/* ... your code continues here ... */