在保持格式的同时解密jQuery中的效果

时间:2012-10-26 16:51:32

标签: javascript jquery animation jquery-plugins text

我正在使用Jason Frame's Grab Bag中的解密插件。

但它似乎只适用于没有格式的文本。我希望文本格式保持不变。

示例:http://jsfiddle.net/G6BdX/

解读插件:

    $.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] / 时会出错,但我不确定。

有人有答案吗?

提前致谢。

0 个答案:

没有答案