有人请帮我这个soundcloud api

时间:2015-07-17 13:32:03

标签: javascript api soundcloud

这是我的html和js文件:

window.onload = function(){
	SC.initialize({
		client_id: "f5311a935daa5ecf6440f92183e77df1"
	});
	
	var menuLinks = document.getElementsByClassName("genre");
	for (var i=0; i < menuLinks.length; i++){
		var menuLink = menuLinks[i];
		menuLink.onclick = function(e){
			e.preventDefault();
			playSounds(menuLink.innerHTML);
		};
	};
};

function playSounds(genre){
	SC.get('/tracks', {genres: genre}, function(tracks){
		var random = Math.floor(Math.random()*49);
		SC.oEmbed(tracks[random].uri, {autoplay: false}, document.getElementById("content"));
	});
};
<html>
<head>
	<title>SoundCloud API</title>
	<script type="text/javascript" src="script.js"></script>
	<script src="//connect.soundcloud.com/sdk-2.0.0.js"></script>
</head>

<body>
<ul>
<li><a href="#" class="genre">electronic</a></li>
<li><a href="#" class="genre">trap</a></li>
<li><a href="#" class="genre">dubstep</a></li>
</ul>

<div id="content"></div>
</body>
</html>

所以基本上当我点击任何一个链接时,它应该搜索该特定类型,但是无论我点击哪个链接,它都只搜索dubstep。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

替换

playSounds(menuLink.innerHTML);

playSounds(this.innerHTML);

它不起作用的原因是,当您点击链接时,它会查找menuLink,它现在等于循环中定义的最后一个(<a>dubstep</a>)。