Ad occhio l'undefined te lo da quando arrivi all'ultimo elemento della lista e fai +1, ovvero punti ad un elemento inesistente.
In quel caso dovresti ripuntare al primo elemento. Tipo così:
Poi, meglio usare usare position(), che è relativo al parent, invece di offset(), che è relativo al documento.codice:if(!next_anchor.length) next_anchor = $('.highlight:eq(0)');
Inoltre position() è influenzato da quanto hai scrollato, non ti da un valore assoluto, quindi quando scrolli devi tenerne conto, tipo così
Oppure usi http://demos.flesler.com/jquery/scrollTo/codice:$('#content').animate({scrollTop: next_anchor.position().top + $('#content').scrollTop() - 10 });![]()