Показать сообщение отдельно
  #7 (permalink)  
Старый 12.07.2010, 15:41
Новичок на форуме
Отправить личное сообщение для watt Посмотреть профиль Найти все сообщения от watt
 
Регистрация: 08.01.2009
Сообщений: 4

Нашёл прототип к jquery, но подключать только ради этого саму библиотеку не хочется.


(function($) {
$.fn.autogrow = function(options) {
        
this.filter('textarea').each(function() {
var $this       = $(this),
minHeight   = $this.height(),
lineHeight  = $this.css('lineHeight');
            
var shadow = $('<div></div>').css({
position:   'absolute',
top:        -10000,
left:       -10000,
width:      $(this).width() - parseInt($this.css('paddingLeft')) - parseInt($this.css('paddingRight')),
fontSize:   $this.css('fontSize'),
fontFamily: $this.css('fontFamily'),
lineHeight: $this.css('lineHeight'),
resize:     'none'
}).appendTo(document.body);
            
var update = function() {
var times = function(string, number) { for (var i = 0, r = ''; i < number; i ++) r += string; return r; };
var val = this.value.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
.replace(/&/g, '&amp;')
.replace(/\n$/, '<br/>&nbsp;')
.replace(/\n/g, '<br/>')
.replace(/ {2,}/g, 
function(space) { return times('&nbsp;', space.length -1) + ' ' });
shadow.html(val);
$(this).css('height', Math.max(shadow.height() + 20, minHeight)); }

$(this).change(update).keyup(update).keydown(update);
update.apply(this); });
return this; } })(jQuery);


<textarea rows='6' style='line-height:1; font-size: 120%; width: 100%'></textarea>

кто знаком с jq подскажите, как заменить функции jq обычными dom?
на ум приходит что-то вроде этого:

var shadow = $('<div></div>').css({
position:   'absolute'...


-

var element = Document.createElement('div')
element.position:   'absolute'...

Последний раз редактировалось watt, 12.07.2010 в 15:44.
Ответить с цитированием