基本上,一旦页面加载,我需要在html块中包含一个完整的预先存在的div类(我不希望JS提供文本)开始'输出'作为人类的文本,保留内部元素的所有CSS(h1s,h2s,p,spans等),并按照它们在页面流中的顺序。
这是我正在处理的文件 http://jsfiddle.net/we9d81jf/
var $el = $('.typing'),
txt = $el.text(),
txtLen = txt.length,
timeOut,
char = 0;
$el.text('|');
(function typeIt() {
var humanize = Math.round(Math.random() * (200 - 30)) + 30;
timeOut = setTimeout(function() {
char++;
var type = txt.substring(0, char);
$el.text(type + '|');
typeIt();
if (char == txtLen) {
$el.text($el.text().slice(0, -1)); // remove the '|'
clearTimeout(timeOut);
}
}, humanize);
}());
非常感谢任何帮助!
答案 0 :(得分:0)
你几乎就在那里,如果你想看到html标签的效果使用.html
而不是.text()
。
这是更新后的fiddle。
答案 1 :(得分:0)
为什么不使用Typed.js之类的jQuery插件。它完美无缺,'<'和'>'不会显示。您也可以深入了解source code以了解其工作原理。
这是demo(字符串包含<br>
,你可以添加一些标签来测试它。)