我正在尝试建立一个假的聊天框。我可以使用 jQuery 从数据库中检索数据以返回一个 JSON 数组。然后,我希望 JSON 对象中包含的每一行文本一次在页面上显示一行,但是代码必须暂停一段时间,如果文本在显示之前键入该行通常需要的时间。那么代码必须等待它显示出来,然后再迭代到 JSON 对象中的下一个值。我希望这一切都有意义...
$.getJSON('includes/get-mentor-dialogue.php?e=' + new Date().getTime(), function(data){
var mainDialogue = data.item;
var l = mainDialogue.length;
$.each(mainDialogue, function(index, d){
var delay = Math.round(countWords(d.content) / WPS) * 1000;
setTimeout(function(){$('#chatBox #chatBody').append('<p>'+ d.content +'</p>');},delay);
});
});
这就是我所拥有的,它有点工作...... countWords() 是一个返回句子中单词数的函数,而 WPS 是一个包含平均“每秒单词数”值的变量。
问题是所有文本行都无序显示。我不能让它等待上一行显示,然后再移动到下一行...
真的需要这个人的帮助......