Ich kenne mich jetzt nicht so extrem gut mit JS, allerdings fällt mir auf, dass die aktuelle Stunde bei dir nur ein einziges mal instanziert wird, nämlich genau dann wenn dein Script geladen wird. Das heißt der Inhalt deiner Variablen Std dürfte genau die Stunde sein, als dein Script geladen wurde. Du musst denke ich noch eine Überprüfung alle X min einbauen welche Uhrzeit es gerade nach dem Seitenaufruf ist.