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


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

Код
<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рипт не работает, если тегу: Скачать
Страна: (RU)
workman
Дата: Четверг, 16.10.2014, 22:08 | Сообщение # 2
Гл. Модератор
Сообщений:1658
Награды: 8


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

Нужна помощь от меня но увидели что нет на сайте?! Задавайте тогда тут (ВК)
Страна: (RU)
workman
Дата: Четверг, 16.10.2014, 22:09 | Сообщение # 3
Гл. Модератор
Сообщений:1658
Награды: 8


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

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


Нужна помощь от меня но увидели что нет на сайте?! Задавайте тогда тут (ВК)
Страна: (RU)
Форум про uCoz » Раздел для uCoz » Другие скрипты для uCoz » Cкрипт для авторастяжки текстового поля textarea
Страница 1 из 11
Поиск: