我试图这样做,当你点击一个按钮时,它会回显一个人的名字,从ajax到php array&然后播放那里的歌曲。
这是我现在所拥有的;
$(document).ready(function() {
$(".button").on("click", function() {
$.ajax({
url: "includes/ajax.php"
}).done(function(msg) {
console.log(msg);
$(".person").html(msg);
if (msg == "name") {
$('a.click').append("<audio class='audio' src='includes/songs/song.mp3' autoplay></audio>");
} else {
$('audio').remove();
}
});
});
});
这确实有效但这意味着我必须有10个不同的if
语句,我不想这样做。
最好的方法是什么?
谢谢!
答案 0 :(得分:0)
您可以创建动态链接:
$().append("<audio src='/songs/"+msg+".mp3'>");
或者您可以使用数据库解析音频并将动态网址传递回客户端,或者您可以创建一个存储数据的对象:
var songof={
tim:"/songs/a.mp3",
bob:...
}
而不是:
url=songof[msg];
或者你可以动态地解决这首歌(你必须在php中做得好)
<audio src="resolvesong.php?tim">
PS:如果一个人被点击两次会怎么样?比歌曲会被下载并多次添加。所以存储下载的歌曲是个好主意:
var songof={};
newsong=document.createElement("audio");
newsong.src="url.mp4";
document.body.appendChild(newsong);
songof["tim"]=newsong;
玩耍
songof["tim"].play();