Potrebbe essere perché inserendo l'alert blocchi la funzione, prova ad inserire dei return false negli if.
E su questa operazione o qualche dubbio:
pagine = parseInt(elementi / 8);
Se intendi dividere elementi x 8 meglio modificare l'operazione cosi:
var pagine = (parseInt(elementi)/8); //forzo la variabile elementi in numero intero e divido per 8.
![]()
P.S. E consigliato dichiarare le variabili anteponendo var