固定サイズの html div と、テキストの入力に使用される追加の HTML 入力ボックスがあります。このテキストは div に表示されます。
テキストを常に中央に配置し、文字列内の文字数に対して可能な限り最大のサイズにする必要があります。
動作するプロトタイプを思いつきましたが、うまく機能しません。テキストのサイズが常に正しいとは限りません。
function bindText(readElement, writeElement, extra){
//the text from the input form triggered by onkeyup event
var textStr = document.getElementById(readElement).value;
//the div to write the text to
var element = document.getElementById(writeElement);
//the major part of the function that I have just brute forced to try and work out
if(textStr.length > 0){
//check the length of the string
if(textStr.length > 8 && textStr.length < 12){
//set a the font size accordingly
element.style.fontSize = 150;
}
//same again
if(textStr.length >= 12 && textStr.length < 16){
element.style.fontSize = 120;
}
if(textStr.length >= 16 && textStr.length < 20){
element.style.fontSize = 100;
}
if(textStr.length >= 20 && textStr.length < 25){
element.style.fontSize = 80;
}
if(textStr.length >= 25 && textStr.length < 32){
element.style.fontSize = 55;
}
if(textStr.length >= 32 && textStr.length < 40){
element.style.fontSize = 50;
}
if(textStr.length >= 40 && textStr.length < 50){
element.style.fontSize = 45;
}
if(textStr.length >= 76){
element = textStr.splice(0, 75);
}
}
}
より一貫した結果を得るためのより洗練されたソリューションはありますか?
前もって感謝します