artemis0
Messages postés865Date d'inscriptionvendredi 3 janvier 2014StatutMembreDernière intervention28 juillet 2018
-
Modifié le 31 déc. 2017 à 18:35
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>