2016-11-18 3 views
1

Ich muss eine Nachricht fernschreiben, aber ich möchte ein zufälliges Intervall zwischen den Buchstaben. Dies ist mein Code für einen konstanten Abstand:JavaScript Variable Intervall

$(document).ready(function() 
{ 
    var message = 'Is it possible to create a random interval in javascript?'; 
    var intervalId = window.setInterval(function() 
    { 
    if(message.length>0) 
    { 
     setTimeout(function() 
     { 
     $("#message_area").append(message[0]); 
     message = message.substring(1); 
     }, 0); 
    } 
    }, 150); 
}); 

https://jsfiddle.net/start_florin/7a4yrLzq/

+0

0 -> Math.random() * 10000 –

Antwort

2

Sie setTimeout für jede Runde nutzen können und die nächste Timer eingestellt. https://jsfiddle.net/baz7gjed/

$(document).ready(function() 
{ 

    function writeWord(){ 
    if(message.length>0){ 
     $("#message_area").append(message[0]); 
     message = message.substring(1); 
     window.setTimeout(writeWord, Math.random()*500); //edit your random boundary here 
     } 
    } 

    var message = 'Is it possible to create a random interval in javascript?'; 
    window.setTimeout(writeWord, 150); 
}); 
2

Man könnte so etwas tun: https://jsfiddle.net/gLjgkdyp/1/

stelle ich eine Funktion ein zufälliges Zeitintervall für die Sie in Ihrem Code setTimeout()

//Create interval between min and max 
function getRandomInt(min, max) { 
    return Math.floor(Math.random() * (max - min + 1) + min); 
} 

zu erstellen:

setTimeout(function() 
     { 
     $("#message_area").append(message[0]); 
     message = message.substring(1); 
     }, getRandomInt(10,4000)); //we create a random timeout amount here. 
1

Könnte j ust verwenden jQuery delay mit einer Zufallszahl

$(document).ready(function() { 
 
    var message = 'Is it possible to create a random interval in javascript?'; 
 
    $.each(message.split(""), function(i,c) { 
 
    \t $("#message_area").delay(Math.random() * 500).queue(function (next) { 
 
    \t  $(this).append(c); next() 
 
     }); 
 
    }); 
 
});
<div id='message_area'></div>

Verwandte Themen