setTimeout lancia la funzione indicata dopo un X numero di millisecondi. Questo accede solo una volta.
Quindi il primo setTimeout fa partire il tutto dopo 1 secondo dall'apertura della pagina. Il secondo (quello interno alla funzione) prosegue con le chiamate.
Per lo stesso scopo utilizzerei setInterval, che esegue la funzione ogni X millisecondi. Con setInterval toglieresti il setTimeout all'interno della funzione.
Puoi trovare qualche informazione aggiuntiva in questo articolo
Non mi è particolarmente chiaro l'IF sui minuti visto che dici che "vuoi farla apparire a piacimento".
![]()