在播放列表中首先发送跳过,反之亦然

时间:2014-04-18 12:27:27

标签: javascript playlist

我正在制作一个小型音乐播放器,用于嵌入博客。它具有播放列表功能。我有一个问题,如果你按下第一首歌的前一首,我就不能跳过播放列表中的第一首歌到最后一首。它不是显示最后一个值,而是显示“未定义”。有谁知道这可能导致什么? Here is the JS Fiddle with my code in it,以下是导致此问题的两个函数:

function prevSong(){
    if (counter === 0){
        counter = songs.length;
    }
    else{
        counter = counter - 1;
    };
    changeSong();
};
function nextSong(){
    if (counter === songs.length){
        counter = 0;
    }
    else{
        counter = counter + 1;
    };
    changeSong();
};

1 个答案:

答案 0 :(得分:1)

你试图超越数组的末尾。您的数组有3个元素(0,1,2)。 songs.length == 3. songs[3]无效。

使用以下内容代替您拥有的内容:

function prevSong()
{
    if (counter === 0)
    {
        counter = (songs.length-1);
    }
    else
    {
        counter = counter - 1;
    }
    changeSong();
}

function nextSong()
{
    if (counter === (songs.length-1))
    {
        counter = 0;
    }
    else
    {
        counter = counter + 1;
    }
    changeSong();
}