我有一个可编辑的文本区域。当我们在textArea中输入文本时,文本的字体大小会随着文本长度的变化而变化。文本长度越大,字体大小越小。这会导致对齐方式出现问题,请问有什么方法可以使文本区域内的文本对齐。

这是Javascript代码:

var textie = document.getElementById('new1');
var spanny = document.getElementById('length');
var textLength;
textie.addEventListener('keypress',function(e){
var size;
textLength = textie.value.length;
size = Change(textLength);
this.style.fontSize = size;
},false);

function Change(fontLength)
{
var fontSize;
if(fontLength>=1 && fontLength<=4)
{
    fontSize = 35+"px";
}
else if(fontLength>=5 && fontLength<=12)
{
    fontSize = 30+"px";
}
else if(fontLength>=13 && fontLength<=35)
{
    fontSize = 20+"px";
}
else if(fontLength>=36 && fontLength<=50)
{
    fontSize = 18+"px";
}
else if(fontLength>=51 && fontLength<=150)
{
    fontSize = 16+"px";
}
else if(fontLength>150)
{
    fontSize = 15+"px";
}
return fontSize;
}


这是HTML

<textArea class = "new" id = "new1"></textArea>
<span id = "length"></span>


I am attaching a jsfiddle, try adding (lots of)random text in it and you will understand

谢谢!!!

最佳答案

您的脚本没有错。实际上,主流浏览器不支持TextArea文本对齐。

关于javascript - 使用可变fontSize的textArea中的对齐方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20285866/

10-12 12:31
查看更多