我正在使用Jason Frame's Grab Bag中的解密插件。
但它似乎只适用于没有格式的文本。我希望文本格式保持不变。
解读插件:
$.fn.unscramble = function() {
this.each(function() {
var $ele = $(this), str = $ele.text(), replace = /[^\s]/,
state = [], choose = [], reveal = 25, random = randomAlphaNum;
for (var i = 0; i < str.length; i++) {
if (str[i].match(replace)) {
state.push(random());
choose.push(i);
} else {
state.push(str[i]);
}
}
shuffle(choose);
$ele.text(state.join(''));
var timer = setInterval(function() {
var i, r = reveal;
while (r-- && choose.length) {
i = choose.pop();
state[i] = str[i];
}
for (i = 0; i < choose.length; i++) state[choose[i]] = random();
$ele.text(state.join(''));
if (choose.length == 0) clearInterval(timer);
}, 100);
});
return this;
};
正如你所看到的那样,按下'解读'文本格式和&lt; br &gt;标签已删除。
由于我缺乏制作jQuery插件的技巧,我不知道问题是什么。我认为在替换 / [^ \ s] / 时会出错,但我不确定。
有人有答案吗?
提前致谢。