2

インターネットで見つけたものから小さなjQueryティッカープラグインを作成しました。それは完璧に機能しますが、htmlタグを許可したいのですが、htmlタグを正しく記述できないため、これに固執しています。それらを書き込むだけで、他には何も書かないので、改行や強力なテキストを作成することはできません。

コードは次のとおりです。

(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)がこのようなリンク<a href="kissa.php">moi</a>を取得した場合

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

しかし、それは単に平文として書くだけです。したがって、最初にトラフhtmlタグを解析し、ユーザーに表示されずに挿入する必要があります。

4

3 に答える 3

2

これは、ブラウザが一度に1文字のタグを取得するため、タグとしてレンダリングしないためです。文字列をタグとテキストに分割してから、テキストを個々の文字に分割する必要がある場合があります。

これを行う簡単な方法を考えてみます。

于 2013-03-05T18:45:25.753 に答える
1

HTMLタグに到達した場合は、間隔をスキップできます...ここで私がこれをどのように実現したかを見てください:https ://github.com/yckart/jquery.typer.js/blob/master/jquery.typer.js# L34-L38

これが実際のです。

于 2013-03-05T18:50:01.480 に答える
0

ブラウザに送信する前に、HTMLタグを完成させる必要があります。そうでなければ、文字列のように脅かされます。

私は解決策を考えていました。HTMLツリーを操作し、ネストされたHTMLタグを見つけて、それらにテキストを追加する必要があります。私のフィドルがあります、それはあなたのものを拡張します。ごちゃごちゃしてすみません、このコードはアップグレードする必要がありますが、基本的な考え方を示しています。

ネストされたタグ(のような<strong><i>text</i></strong>)と、のように閉じないタグで機能します<br/>

追加の説明が必要な場合は言ってください。

于 2013-03-05T19:56:20.663 に答える