我正在制作一个小型音乐播放器,用于嵌入博客。它具有播放列表功能。我有一个问题,如果你按下第一首歌的前一首,我就不能跳过播放列表中的第一首歌到最后一首。它不是显示最后一个值,而是显示“未定义”。有谁知道这可能导致什么? 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();
};
答案 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();
}