2011-12-20 23 views
0

テキストの各文字をカスタム文字イメージに置き換えるjquery関数を使用することをお勧めしますか?文字をイメージに置き換えるJquery関数

例:関数を呼び出すとき、あなたは文字を置換したい要素を引数として渡す必要があり、とjQueryが行います(指定した要素が「こんにちは世界」が含まれている場合)

<img src="h.png"> 
<img src="e.png"> 
<img src="l.png"> 
<img src="l.png"> 
<img src="o.png"> 
<img src="space.png"> 
<img src="w.png"> 
<img src="o.png"> 
<img src="r.png"> 
<img src="l.png"> 
<img src="d.png"> 

ウィルこのトリックは私のページをあまりにも遅くする?

ps:フォントファイルではなく各文字にpng画像を使用したいのですが、単純なフォントでは不可能な特殊効果が適用されるためです。

+1

あなたの不可解な画像の山ほど、視覚障害者は何をしますか? –

+0

イメージをプリロードすると、ページが遅くなることはありませんが、どのような特殊効果を適用していますか?私は良い方法があるという気持ちがあります。 – Vigrond

+0

私の2セントは、パフォーマンスを向上させるためにCSSスプライトを使用しています。 moのアドバイスを受け、実際のテキストをページに残しておいてください。 –

答えて

0

主な問題点は、これがアクセシビリティに影響するということです。視覚障害のある人々は、Webページを解析して内容を読み上げる読者を利用できます。

はい、これによりページの読み込み時間が大幅に短縮され、ブラウザはページ内の各文字に新しい画像をリクエストする必要があります。

+0

ページが読み込まれた後にJavaScript/jQueryを使用して置換が行われたときに、検索エンジンがページを解析しようとする試みにはなぜ影響しますか? – nnnnnn

+0

@nnnnnn - あなたは正しい+1です。私を正直にしてくれてありがとう。 –

+0

@AdamRackis:視覚障害のある人には同意しますが、1)ページからズームイン/ズームアウトすることができます。2)複数のリクエストで問題を回避するには少なくとも2つの方法があります(スプライト、 HTML内の画像をエンコードする)。 – Tadeck

1

私は全員に同意します。あなたはどのような効果を期待しているのか分かりませんが、よりよい解決策があるかもしれません。とにかく、ここに行くことを決めたら、ここに例があります。

var text = $('div').text(), i, il= text.length, result = [], char; 
for(i=0;i<il;i++) { 
    char = text.charAt(i); 
    if(char === " ") { 
     char = "space"; 
    } 
    result.push('<img src="' + char + '.png" alt="' + char + '" />'); 
} 
$('div').html(result.join('')); 

js例はhereです。

関連する問題