У меня есть текстовая область, доступная для редактирования. Когда мы вводим текст в 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>
Я прикрепляю jsfiddle, стараюсь добавить (много) случайный текст в нем, и вы поймете
благодарю!!!
В вашем скрипте нет ничего плохого. На самом деле, текстовое выравнивание TextArea не поддерживается основными браузерами.