A) non mi sono letto tutta la discussione precedente.
B) non conosco lo scopo né la logica
Il primo pensiero è stato il setIterval devi metterlo al callback della funzione.