Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SoundCloudAPI只返回列表中的最后一项_Javascript_Api_Soundcloud - Fatal编程技术网

Javascript SoundCloudAPI只返回列表中的最后一项

Javascript SoundCloudAPI只返回列表中的最后一项,javascript,api,soundcloud,Javascript,Api,Soundcloud,我的JavaScript代码似乎有问题。我想播放一首基于点击类型的歌曲。HTML代码如下所示: <li><a href="#" class = "genre" id="dubstep"> Dubstep</a></li> 每种体裁。下面是我的JavaScript代码的一部分。问题是它只播放我的流派列表中最后一首歌。我认为这与for循环有关,但我真的不知道如何或为什么。 有人能帮我吗? 请记住,我是一个初级程序员,所以我的知识是有限的 //

我的JavaScript代码似乎有问题。我想播放一首基于点击类型的歌曲。HTML代码如下所示:

<li><a href="#" class = "genre" id="dubstep"> Dubstep</a></li> 
  • 每种体裁。下面是我的JavaScript代码的一部分。问题是它只播放我的流派列表中最后一首歌。我认为这与for循环有关,但我真的不知道如何或为什么。 有人能帮我吗? 请记住,我是一个初级程序员,所以我的知识是有限的


    //JavaScript文档
    函数播放声音(类型){
    SC.get(“/tracks”{
    类型:类型,
    bpm:{
    起:100
    }
    },功能(轨道){
    var random1=Math.floor(Math.random()*49);
    SC.oEmbed(tracks[random1].uri,{auto_play:true},document.getElementById('target');
    });
    }
    window.onload=函数(){
    SC.initialize({
    客户id:“id”
    });
    var menuLinks=document.getElementsByClassName('genre');
    
    对于(var i=0;i)我还得到一个错误“Uncaught TypeError:Cannot read property'uri'of undefined”(tracks[random1].uri,{auto_play:true},document.getElementById('target');for
    循环的可能重复不断地替换
    menuLink
    的值:
    var menuLink=menuLinks[i]
    。循环完成后,
    menuLink
    将是最后一个值。建议的重复目标应该让您知道如何解决此问题。至于
    类型错误
    :检查
    是否跟踪[random1]
    甚至存在,在嵌入之前。谢谢你的时间,但我还是搞不清楚。为什么轨迹[random1]不存在?我在右上方声明了random1?你所建议的重复目标是什么意思?我不知道如何修复它,对不起……那又怎么样?
    轨迹存在,
    random1
    存在,但是
    轨迹[random1]
    可能不存在。
    // JavaScript Document
    function playSomeSound(genre) {
        SC.get('/tracks', {
            genres: genre,
            bpm: {
                from:100
            }
        }, function(tracks){
            var random1 = Math.floor(Math.random() * 49);
            SC.oEmbed(tracks[random1].uri, { auto_play: true }, document.getElementById('target'));
        });
    }
    window.onload = function () {
        SC.initialize({
            client_id: 'ID'
        });
    
        var menuLinks = document.getElementsByClassName('genre');
        for (var i = 0; i <menuLinks.length; i++) {
            var menuLink = menuLinks[i];
            menuLink.onclick = function(e) {
                e.preventDefault();
                playSomeSound(menuLink.id);
        }
        };
    };