Faire une pause javascript proprement [Fermé]

Signaler
Messages postés
882
Date d'inscription
vendredi 3 janvier 2014
Statut
Membre
Dernière intervention
28 juillet 2018
-
Bonjour,

j'ai le code ci-dessous.
le premier script est pour faire un autoscroll et le deuxième pour une heure dynamique avec les secondes.
Mais j'ai un problème :
j'ai fait en sorte qu'il y ait une pause quand le curseur arrive en bas, mais cela bloque l'exécution de mon deuxième script. Donc les secondes s'arrêtent de défiler pendant un petit moment. Comment faire pour que les secondes ne soient pas bloquées ?

<script language="JavaScript">
   function sleep(seconds){
    var waitUntil = new Date().getTime() + seconds*1000;
    while(new Date().getTime() < waitUntil) true;
   }
   function start_scroll_down() { 
    scroll = setInterval(function(){ window.scrollBy(0, 1);}, 20);
   }
   window.onscroll = function(ev) {
       if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {
     <bold>sleep(2);</bold>
     (function smoothscroll(){
      var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;
      if (currentScroll > 0) {
       window.requestAnimationFrame(smoothscroll);
       window.scrollTo (0,currentScroll - (currentScroll/5));
     }
    })();
       }
   };
   start_scroll_down();
  </script> 
  <script>
   function startTime() {
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById('txt').innerHTML =
    h + ":" + m + ":" + s;
    var t = setTimeout(startTime, 500);
   }
   function checkTime(i) {
    if (i < 10) {i = "0" + i};  // add zero in front of numbers < 10
    return i;
   }
  </script>


merci