我需要电传打字信息,但我希望信件之间有一个随机的间隔。 这是我的恒定间隔代码:
$( 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);
});
答案 0 :(得分:2)
您可以为每一轮使用setTimeout
并设置下一个计时器。
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);
});
答案 1 :(得分:2)
您可以执行以下操作:https://jsfiddle.net/gLjgkdyp/1/
我介绍了一个为setTimeout()
//Create interval between min and max
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
在您的代码中:
setTimeout(function ()
{
$("#message_area").append(message[0]);
message = message.substring(1);
}, getRandomInt(10,4000)); //we create a random timeout amount here.
答案 2 :(得分:1)
可以使用带有随机数的jQuery delay
$(document).ready(function() {
var message = 'Is it possible to create a random interval in javascript?';
$.each(message.split(""), function(i,c) {
$("#message_area").delay(Math.random() * 500).queue(function (next) {
$(this).append(c); next()
});
});
});
<div id='message_area'></div>