Страница 1 из 11
Форум про uCoz » Раздел uCoz » Скрипты и коды uCoz » Cкрипт для авторастяжки текстового поля textarea
Cкрипт для авторастяжки текстового поля textarea
Kosten
Дата: Четверг, 16.10.2014, 03:43 | Сообщение # 1
Администраторы
Сообщений:12665
Награды: 39


Размер самого скрипта совсем небольшой, выглядит вот так:

Код
<script type="text/javascript">  
var $j = jQuery.noConflict();  
$j.fn.jGrow = function(options) {  
var opts = $j.extend({}, $j.fn.jGrow.defaults, options);  
return this.each(function() {  
$j(this).css({ overflow: "hidden" }).bind("keypress", function() {  
$this = $j(this);  
var o = $j.meta ? $j.extend({}, opts, $this.data()) : opts;  
if(o.rows == 0 && (this.scrollHeight > this.clientHeight)) {  
this.rows += 1;  
} else if((this.rows <= o.rows) && (this.scrollHeight > this.clientHeight)) {  
this.rows += 1;  
} else if(o.rows != 0 && this.rows > o.rows) {  
$this.css({ overflow: "auto" });  
}  
$this.html();  
});  
});  
}  
$j.fn.jGrow.defaults = { rows: 0 };  
$j(document).ready(function() { $j("#comment").jGrow({ rows: 25 }); })  
</script>


В этом скрипте интересна в плане настроек лишь последняя строка, а, вернее, вот эта ее часть:

Код
$j("#comment").jGrow({ rows: 25 });


#comment - это идентификатор поля textarea, к которому хотим прицепить скрипт.
rows: 25 - максимальное количество строк, до которых будет происходить авторастяжка.
Если содержимое поля станет больше этого количества строк, то появляется прокрутка.
Данное можете подстроить под себя как вам удобно.

Но если поставить так:

Код
$j("#comment").jGrow();

то снимается ограничение на максимальную высоту textarea, т.е., в зависимости от количества текста, это поле может растягиваться бесконечно.

По желанию можно заметить следующий момент.
Cрипт не работает, если тегу: Скачать


workman
Дата: Четверг, 16.10.2014, 22:08 | Сообщение # 2
Vip
Сообщений:1576
Награды: 7


Kosten, Подзалил под себя??? Правильно... А то я вчера не правильно закрыл коды и немного сломала дизайн

Каждый раз, когда ты можешь помочь кому-то, просто сделай это и радуйся тому, что Бог отвечает на чьи-то молитвы через тебя...
workman
Дата: Четверг, 16.10.2014, 22:09 | Сообщение # 3
Vip
Сообщений:1576
Награды: 7


Цитата Kosten ()
Cрипт не работает, если тегу:
А дальше???

А дальше так:
Cкрипт не будет работать, если тегу textarea задана высота через CSS, поэтому нужно воспользоваться параметром rows:
Например:
Код
[textarea name="comment" id="comment" cols="70" rows="8"][ /textarea]
Ну и конечно же понимаем, что скобки тут я поставил не те которые на самом деле нужны


Каждый раз, когда ты можешь помочь кому-то, просто сделай это и радуйся тому, что Бог отвечает на чьи-то молитвы через тебя...
Форум про uCoz » Раздел uCoz » Скрипты и коды uCoz » Cкрипт для авторастяжки текстового поля textarea
Страница 1 из 11
Поиск: