All streams
Search
Write a publication
Pull to refresh

Comments 20

Поначалу пугать будет. Хотя идея кажется хорошей.
В Safari 3 эта функциональность присутствует. Действительно очень удобно, несмотря на то, что пока бета-версия.
интересно, под windows тоже эта фича присутствует, или только на яблоках?
Для Firefox есть такое расширение - Resizeable Textarea (https://addons.mozilla.org/ru/firefox/addon/3818). Но к сожалению на Хабре не действует. А вот на других ресурсах пользуюсь им частенько :)
Да, следовало бы добавить, а то бывает напишешь большой комментарий, а потом вспомнишь что в таком-то месте надо добавить и приходится искать в двух строчках нужно место.
предлагаю свой вариант (оптимизация приветствуется =))

function enlargeTextarea(id)
{
/*id - идентификатор textarea */
var textarea = document.getElementById(id);
var substrings = textarea.value.split("\n");
var textareaHeight = textarea.offsetHeight;
var heightDefault = 100; //изначальная высота
var heightLimit = 400; // максимальная высота
var addHeight = 16; // примерная высота строчки
var startOn = Math.round(heightDefault / addHeight);
var charsOnLine = 45; //сколько символов вмещается на строку
var add = 0;

for(i = 0; i ‹ substrings.length; i ++)
{
add = add + Math.round(substrings[i].length / charsOnLine) + 1;
}
if(add › startOn && textareaHeight ‹= heightLimit)
{
textarea.style.height = add * addHeight;
}
else if(add ‹= startOn) textarea.style.height = heightDefault;
if(textarea.value == "") textarea.style.height = heightDefault;
}


у меня textarea с высотой 100 и длиной 500 пикселей, шрифт - Verdana, кегль - 10pt
всё работает
смотреть тут http://markovnin.com/
Не пойдёт, ширина текстарии не фиксированная. Как вариант: можно в скрытом диве фигачить тот - же текст и снимать его высоту.
Есть два варианта - либо дать возможность пользователю изменять размер, как в сафари.
Либо просто считать нажатия enter.

Большего тут не надо.
В phpMyAdmin есть такая штука - очень удобная. =) Можно оттуда взять кое-что
В последней точно есть. Только по-моему не везде работает.
А можно так:

a = tekstArea.value.split('\n');
b=1;
for (x=0;x = tekstArea.cols) b+= Math.floor(a[x].length/tekstArea.cols);
}
b+= a.length;
if (b > tekstArea.rows) tekstArea.rows = b;
Хай!
Я бы сдалал как-то так:


(e2=300)?e2:e;" style = "height:60;">


Из минусов:
- необходимо указывать размер шрифта
- начальная высота не рассчитывается скриптом, а задана от балды (как вариант: сделать минимальную высоту, меньше которой - никак).
Из плюсов:
- Кроссбраузерно (хотя в сафари не смотрел)
- Работает =)
Теги не пустило )
http://zaetz.ru/textarea.html
UFO landed and left these words here
Как вариант: просто увеличить высоту окошка для «суб-комментариев», уж больно оно маленькое.
UFO landed and left these words here
Sign up to leave a comment.

Articles