3

重複の可能性:
Javascriptを使用してテキスト幅を計算する

了解しました。これが、達成できるかどうかを確認するために私が探しているものです。ユーザーが送信したテキスト(つまり可変長)を取得して、固定の幅/高さのdivに配置したいと思います。テキストが割り当てられたスペースを超える場合は、できるだけ多く表示し、最後に省略記号(...)をできるだけ境界の近くに配置します。

だから私が疑問に思っているのは...特定のテキストブロックが占めるスペース(javascript)を知ることは可能ですか?等幅フォントを使用するつもりはありません。使用したとしても、それが大いに役立つかどうかはわかりません。

変数が多すぎて説明できないのではないかと思い始めており、固定された最大文字数を出力するなど、精度の低いものを実行する必要があります。しかし、私は誰かが以前にこのようなことを成し遂げたかどうか、または一般的なコンセンサスが「不可能/努力する価値がない」かどうかを見たかったのです。皆さんありがとう!

4

2 に答える 2

3

ワーキングフィドル

function width(tex) {
    var text = tex;
    var div = document.createElement("div");
    div.style.position="absolute";
    div.style.top="-999px";
    div.style.left="-999px";
    div.id = "width";
    div.innerHTML=tex;
    document.body.appendChild(div);
    var el = document.getElementById("width");
    var w = el.offsetWidth;
    el.parentNode.removeChild(el);
    return w;
}
var s = parseInt(width("s"), 10);
alert(s);

上記はテキストの幅を返します!

于 2013-01-05T19:53:27.620 に答える
2

クイック検索により、ここでこの可能な解決策が明らかになりました。

これはあなたが探しているものと正確に一致しないかもしれません。もっと見つけたら、これを掘り下げて更新していきます。

于 2013-01-05T19:44:38.790 に答える