Это не рекурсивная функция. Рекурсивная функция продолжает создавать и сохранять свои копии в памяти до тех пор, пока не будет достигнут базовый случай, после чего стек раскручивается и возвращаются значения. Также должно быть изменение параметров в рекурсивном вызове, которое в конечном итоге приведет к базовому случаю.
PHP Пример:
function recursive_function($num){
if ($num == 0){ //base case
return 10;
}else{
return $num + recursive_function($num-1);
}
}
recursive_function(5);//output is 25
Ваша функция просто создает новые таймеры, которые вызывают ту же функцию после того, как оригинал покинул память.
Удалите 'timer = setTimeout (playslides, 5500, $ element);' строка в функции playlides.
Заменить 'playslides ($ ("#" + t)); " вызовите функцию document.ready с:
timer = window.setInterval(function(){
playslides($("#"+t));
}, 5500);
Вам нужно создать анонимную функцию для setinterval для правильной передачи параметров (для старых браузеров ... не в HTML5).