我需要做一个反向打字效果。问题是我也需要保留 html-tags。
http://fiddle.jshell.net/mSmm9/
var str = 'Foo is <b>not</b> equal to bar.';
var remove = false;
var i = 0;
var isTag;
var text;
(function type() {
if (remove) {
text = str.slice(0, --i);
if (!text) return;
}
if (!remove) {
text = str.slice(0, ++i);
if (text === str) return;
}
document.body.innerHTML = text;
var char = text.slice(-1);
if( char === '<' ) isTag = true;
if( char === '>' ) isTag = false;
if (isTag) return type();
setTimeout(type, 100);
}());
目前它只有在我们让它向前输入时才有效。如果我们向后退(类似退格),则打开/关闭括号是可见的:http: //fiddle.jshell.net/mSmm9/1/
任何想法如何解决这一问题?
我试图交换开始和结束标签<
& >
:
if( char === '>' ) isTag = true;
if( char === '<' ) isTag = false;
没有成功!