2014-04-18 4 views
1

블로그에 퍼갈 수있는 작은 음악 플레이어를 만들고 있습니다. 그것은 재생 목록 기능을 가지고 있습니다. 첫 번째 노래에서 이전을 누르면 재생 목록의 첫 번째 노래에서 마지막으로 건너 뛸 수없는 문제가 있습니다. 마지막 값을 표시하는 대신 '정의되지 않음'을 표시합니다. 아무도 이것이 무엇을 일으키는 지 알고 있습니까? 여기 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

. 배열에는 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(); 
} 
관련 문제