jQuery(js)取得文字幅(表示長)サンプルコード
951 ワード
今日は文字の幅を取得する問題に遭遇して、長い間調べて、やっと1つの国外のウェブサイトの上で方法を見つけて、しかし直接使うことができなくて、そこで修正して、成功してプロジェクトの中で使って、ここでみんなに分かち合います.
まずbodyラベルの最後にサブラベルを追加します.
次に、対応するcssコードを追加します.
次にStringのプロトタイプに文字幅を取得する関数を直接追加し、jsコードに次のコードを追加すればよい.
最後に、文字幅を取得する必要がある場所で呼び出せばいいです.例を挙げます.
主な考え方は、非表示のラベルを追加し、そのラベルに値を付けるたびに、そのラベルの長さを取得することで文字幅を取得することです.なお、長さは、DOMに追加されたラベルのみが取得される.
もし皆さんが自分に役に立つと思ったら、助けてほしいです.ありがとうございます.
まずbodyラベルの最後にサブラベルを追加します.
test
次に、対応するcssコードを追加します.
#ruler {
visibility: hidden;
white-space: nowrap;
font-size: 24px;
}
次にStringのプロトタイプに文字幅を取得する関数を直接追加し、jsコードに次のコードを追加すればよい.
String.prototype.visualLength = function()
{
var ruler = $("#ruler");
ruler.text(this);
return ruler[0].offsetWidth;
}
最後に、文字幅を取得する必要がある場所で呼び出せばいいです.例を挙げます.
var text = "test";
var len = text.visualLength();
主な考え方は、非表示のラベルを追加し、そのラベルに値を付けるたびに、そのラベルの長さを取得することで文字幅を取得することです.なお、長さは、DOMに追加されたラベルのみが取得される.
もし皆さんが自分に役に立つと思ったら、助けてほしいです.ありがとうございます.