Javascript setinterval avec temps aléatoire

J'ai ce setinterval avec l'alerte de fonction:

setInterval(function(){ alert('oo'); }, 5000); 

Mais j'aimerais changer mon intervalle (5000) chaque intervalle de temps passe l'alerte () – J'aimerais qu'il ait choisi au hasard entre 5 et 10 secondes. Une idée de comment le faire?

Vous devez utiliser setTimeout pour définir l'intervalle après lequel la fonction doit être exécutée.

 function myFunction() { var min = 5, max = 10; var rand = Math.floor(Math.random() * (max - min + 1) + min); //Generate Random number between 5 - 10 alert('Wait for ' + rand + ' seconds'); setTimeout(myFunction, rand * 1000); } myFunction() 

Vous pouvez le faire comme ceci:

 function myFunction() { alert('oo'); setTimeout(myFunction, Math.random() * 5000) } myFunction() 

Les intervalles, une fois réglés, sont fixés.

Utilisez setTimeout et appelez la fonction de manière récursive à la place.

 function myAlert() { setTimeout(myAlert, generate_random_time()); alert('oo'); }