У меня есть сайт с аудиоплеером, и я пытаюсь улучшить случайный вариант, добавив параметр, который позволит пользователю изменить минимальное количество музыки, которое необходимо воспроизвести, чтобы за ту же музыку, чтобы снова выбратьjQuery застрял в бесконечном цикле
так в основном: Song N ° 15 -> по крайней мере, X разные песни -> Песня N ° 15
и вы могли бы изменить X с помощью ползунка
это код, который у меня есть:
var Song = 1;
var tweenSongs = 3;
var songList = [];
var songListNumber = 1;
function randomizeTrack() {
Song = Math.floor((Math.random() * songTotal) + 1);
if (songListNumber - tweenSongs < 1) {
for (i=0; i <= tweenSongs - 1; i++) {
if (Song == songList[songListNumber - i]) {
randomizeTrack()
}
}
}
else {
for (i=0; songListNumber != 0; i++) {
if (Song == songList[songListNumber - i]) {
randomizeTrack()
}
}
}
songList[songListNumber] = Song;
songListNumber++;
}
проблема:
после третьей песни, веб-страницы, замерзает, и мне нужно, чтобы перезапустить его, таким образом, есть бесконечный цикл там, но я путать себя с моим собственным кодом, кто-нибудь знает, что причина этого бесконечная петля.
here's a link to the website with the problem
Я думаю, что один из ваших 'условий if' всегда«истина», так что вы рекурсивного вызова' randomizeTrack () 'бесконечно. Если вы смутили себя своим собственным кодом, вероятно, пора переписать его. – Jack
Дело в том, что я только что написал этот код –
Вы также, вероятно, никогда не добираетесь до конца своей функции, поэтому 'songListNumber' никогда не изменяется. – Jack