【问题标题】:jQuery Ticker | Allow html?jQuery 代码 |允许 html?
【发布时间】:2013-03-05 18:38:30
【问题描述】:

我根据从互联网上找到的内容编写了一个小型 jQuery 自动收录器插件。它完美地完成了它的工作,但我希望它允许 html 标签,并且我坚持使用它,因为我无法正确编写 html 标签。它只是写它们,没有别的,所以我无法创建换行符或 strong 文本。

代码如下:

(function($) {
    $.fn.Ticker = function(cont,time) {
        var conArray = cont.split(""),
            current = 0,
            elem = this;
        setInterval(function() {
            if(current < conArray.length) {
                elem.html(elem.html() + conArray[current++]);
            }
        }, time);
    };

})(jQuery);
var tickertext = $("#tickertext").html();
$(document).ready(function(){
    $("#tickto").Ticker(tickertext,50);
});

还有一点:http://jsfiddle.net/29axW/ 如果我console.log(conArray) 像这样的链接&lt;a href="kissa.php"&gt;moi&lt;/a&gt; 我得到

["<", "a", " ", "h", "r", "e", "f", "=", """, "k", "i", "s", "s", "a", ".", "p", "h", "p", """, ">", "m", "o", "i", "<", "/", "a", ">"] 

但它只是将其写为纯文本。所以我需要它首先解析 html 标签并在用户看到它的情况下插入它们,依此类推......

【问题讨论】:

标签: jquery ticker


【解决方案1】:

这是因为浏览器一次获取标签的一个字符,因此不会将其呈现为标签。您可能需要将字符串拆分为标签和文本,然后将文本拆分为单个字符。

我会尝试想一个简单的方法来做到这一点。

【讨论】:

  • 嗯,有趣!所以应该先解析文本的标签,然后解析文本。
  • 是的。您需要将任何 HTML 视为“属于”其中的字符,而不是其自身的字符。更复杂的是,您必须在编写开始标记后立即编写结束标记,然后填写内部 HTML,然后继续。
  • @Chris 听起来并不容易。甚至谷歌也让我失望了:(
【解决方案2】:

如果达到 HTML 标记,您可以跳过间隔...看看我是如何在这里实现的:https://github.com/yckart/jquery.typer.js/blob/master/jquery.typer.js#L34-L38

这是working example

【讨论】:

  • 嗯...您的脚本是否允许$(element).typer(speed) 之类的选项?
  • @christian 当然用 $(element).typer({duration: 2000});
  • 但是是整个打字的持续时间还是每个字母之间的中断?
  • 忘记最后的评论。所以持续时间是一个词的持续时间。如何在每个字母之间设置 10 毫秒的持续时间?
  • @Simon 好的,更新结束了!我为你准备了一个小提琴jsfiddle.net/Sex3a 我使用变量i 并在所有短语都输入到期afterAll 后对其进行计数。如果i === 3 它会清除计时器。
【解决方案3】:

在将其发送到浏览器之前,应完成 Html 标记。否则它会像字符串一样受到威胁。

我正在考虑解决方案。您应该使用 html 树,查找嵌套的 html 标记并将文本附加到其中。这是我的Fiddle,它扩展了你的。很抱歉,这个代码应该升级,但我展示了基本的想法。

它适用于嵌套标签(如&lt;strong&gt;&lt;i&gt;text&lt;/i&gt;&lt;/strong&gt;)和不关闭标签如&lt;br/&gt;

如果你需要一些额外的解释,请说。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多