Перейти к публикации

Растяжка текстовых полей по вертикали


Рекомендованные сообщения

Всем здравствуйте!

Есть один замечательный скрипт textareaResizer "Растяжка текстовых полей по вертикали".

Автор данного скрипта Леонид Шевцов.

Содержимое файла textarearesizer.js


// textareaResizer.js

// Растяжка текстовых полей по вертикали

// (c) 2008 Леонид coldFlame Шевцов (http://coldflame.in.ua)

var minH=100;// Минимальная высота поля

var startH=0;

var startY=0;

var textarea=null;

var oldMouseMove=null;

var oldMouseUp=null;

function textareaResizer(e){

	if (e == null) { e = window.event }

	if (e.preventDefault) {

		e.preventDefault();

	};

	resizer = (e.target != null) ? e.target : e.srcElement;

	textarea = document.getElementById(

	  resizer.id.substr(0,resizer.id.length-8)

	);

	startY=e.clientY;

	startH=textarea.offsetHeight;

	oldMouseMove=document.onmousemove;

	oldMouseUp=document.onmouseup;

	document.onmousemove=textareaResizer_moveHandler;

	document.onmouseup=textareaResizer_cleanup;

	return false;

}

function textareaResizer_moveHandler(e){

  if (e == null) { e = window.event }

  if (e.button<=1){

	 curH=(startH+(e.clientY-startY));

	 if (curH<minH) curH=minH;

	 textarea.style.height=curH+'px';

	 return false;

  }

}

function textareaResizer_cleanup(e) {

  document.onmousemove=oldMouseMove;

  document.onmouseup=oldMouseUp;

}

Содержимое файла стиля *.css

div.text_editor textarea

{

  width: 398px;

  height:100px;

}

div.text_editor div {

  background: #e2e2e2 url("resizer.gif") no-repeat;

  background-position:center;

  height:10px;

  width:400px;

  font-size:.01em;/* поправка высоты для IE */

  cursor:s-resize;

}

Содержимое html файла

<div class="text_editor">

<textarea name="text" id="ta_text">Этот textarea будет растягиваться по вертикали</textarea>

<div id="ta_text_resizer" onMouseDown="textareaResizer(event);">&nbsp;</div>

</div>

Картинка - resizer.gif b377e21aca2b.gif Друзья! Подскажите, пожалуйста, каким образом можно это осуществить в dle? Только не говорите, что очень просто. Я пытался, но у меня ничего не получилось. Значит, не совсем это просто. Содержимое html файла скорее всего необходимо встроить в /engine/modules/bbcode.php. Верно? Вот только вопрос - где конкретно, и как правильно это содержимое встроить? К тому же, обратите внимание на эту часть кода:

<textarea name="text" id="ta_text">

А в файле /engine/modules/bbcode.php в части нужного нам кода - id уже имеется:

<textarea name="comments" id="comments" cols="" rows="" style="width:465px;height:156px;border:0px;margin: 0px 1px 0px 0px;padding: 0px;" onclick="setNewField(this.name, document.getElementById( 'dle-comments-form' ))">{text}</textarea>

Буду очень благодарен за помощь в решении этой задачи.

Изменено пользователем LADYX
Ссылка на сообщение
Поделиться на других сайтах

LADYX, напишите мне в ICQ ;)

Ссылка на сообщение
Поделиться на других сайтах

LADYX, зачем вам устаревший почти четырех летней давности плагин, для новых версий браузеров он не сработает.?

В IE v.8+ и Opera v.10+ он работать не будет.

http://leonid.shevts...ea-po-vertikali

Тестировалось в IE 6, 7, Firefox 2, 3, Opera 9, Safari 2.

В Firefox, Hrome и Safari это и так по умолчанию присутствует.

Изменено пользователем Captain
Ссылка на сообщение
Поделиться на других сайтах

Не представлять себе реальности – значит жить в своих мечтах и фантазиях. Куда лучше не витать в облаках, а спуститься на землю ;)

Адресат сам поймет, что это адресовано именно ему))

***

Итак, Captain, отвечаю вам.

Ну почему же, он прекрасно работает, я тестировал.

Вопрос в другом:

обратите внимание на эту часть кода:


<textarea name="text" id="ta_text">

А в файле /engine/modules/bbcode.php в части нужного нам кода - id уже имеется:

<textarea name="comments" id="comments" cols="" rows="" style="width:465px;height:156px;border:0px;margin: 0px 1px 0px 0px;padding: 0px;" onclick="setNewField(this.

Я не могу разобраться именно с этим моментом, остальное все я прекрасно понимаю, как это сделать.

Изменено пользователем LADYX
Ссылка на сообщение
Поделиться на других сайтах

<div class="text_editor">

<textarea name="comments" id="comments" cols="" rows="" style="width:465px;height:156px;border:0px;margin: 0px 1px 0px 0px;padding: 0px;" onclick="setNewField(this.name, document.getElementById( 'dle-comments-form' ))">{text}</textarea>

<div id="comments_resizer" onMouseDown="textareaResizer(event);">&nbsp;</div>

</div>

Изменено пользователем Lomot
Ссылка на сообщение
Поделиться на других сайтах

Да что гадать, надо всего лишь попробовать.

Пробовали, показывает, но не растягивает. Диву два ид же не присвоишь. Вот в этом вся и загвостка.

Ссылка на сообщение
Поделиться на других сайтах

Пробовали, показывает, но не растягивает. Диву два ид же не присвоишь. Вот в этом вся и загвостка.

Вообще надо бы ссылку на страницу давать на которой сей скрипт стоит. А то, так можно до нового года думать, что там у вас не работает.

Ссылка на сообщение
Поделиться на других сайтах

Вообще надо бы ссылку на страницу давать на которой сей скрипт стоит. А то, так можно до нового года думать, что там у вас не работает.

А то будто бы это вам чем-то поможет. К тому же, сейчас нигде ничего не стоит.

Согласитесь, для грамотного программиста достаточно выкладки кода всех файлов, что я и сделал.

Вам это не по зубам, простите.

Ссылка на сообщение
Поделиться на других сайтах

А то будто бы это вам чем-то поможет. К тому же, сейчас нигде ничего не стоит. Согласитесь, для грамотного программиста достаточно выкладки кода всех файлов, что я и сделал. Вам это не по зубам, простите.

Прощаю, теперь идем по ссылке http://lomoteam.com/resizer.html открываем исходный код и смотрим.

Там вставлен именно этот код:


<div class="text_editor">

<textarea name="comments" id="comments" cols="" rows="" style="width:465px;height:156px;border:0px;margin: 0px 1px 0px 0px;padding: 0px;" onclick="setNewField(this.name, document.getElementById( 'dle-comments-form' ))">{text}</textarea>

<div id="comments_resizer" onMouseDown="textareaResizer(event);">&nbsp;</div>

</div>

А не какой то другой, придуманный вами.

Страница с примером мне понадобилась, чтобы убедиться, что вы вставили совсем другой код, и указать на ошибку.

p.s. уж кому кому, но только не вам судить об уровне моих знаний. Моих знаний вполне достаточно что бы сделать это без правки файлов скрипта за 2-3 минуты.

Удачи.

Изменено пользователем Lomot
Ссылка на сообщение
Поделиться на других сайтах

А то будто бы это вам чем-то поможет. К тому же, сейчас нигде ничего не стоит.

Согласитесь, для грамотного программиста достаточно выкладки кода всех файлов, что я и сделал.

Вам это не по зубам, простите.

ты попросил помощи, человек тебе помогает и задает вспомогательные вопросы, какого лешего ты выпендриваешься?

Ссылка на сообщение
Поделиться на других сайтах

Там вставлен именно этот код:

Да, действительно, я не обратил внимание на изменения, которые вы внесли, вместо ta_text_resizer нужно было действительно прописать comments_resizer.

Вот именно этот id="ta_text" меня и сбил с толку.

В html я не совсем уж и чайник, но бывают моменты, где начинаешь путаться или сбиваться.

А не какой то другой, придуманный вами.

Да не я же его придумал, я ведь привел даже автора, у кого я взял этот скрипт.

Страница с примером мне понадобилась, чтобы убедиться, что вы вставили совсем другой код, и указать на ошибку.

Вот конкретно с ta_text я и промахнулся. Я вам очень благодарен за то, что вы меня уткнули носом на ошибку.

ты попросил помощи, человек тебе помогает и задает вспомогательные вопросы, какого лешего ты выпендриваешься?

Да вот того и лешего, сбил меня этот id="ta_text", будь он не ладен, да и понимаешь, разозлила меня жадность некого индивидуума, где сам видишь, что вопрос здесь на пять копеек, ведь по-человечески попросил - ребята, помогите, пожалуйста, не могу состыковать два id. А нужно было меня всего лишь носом ткнуть на ошибку.

Парни, я не знаю, там где действительно вопрос и ломаного гроша не стоит, я правда никогда не пытаюсь сорвать куш, потому как верю во взаимопомощь.

Ну а там, где действительно необходимо что-то писать, создавать, ну это уже совсем другой вопрос.

Прощаю

p.s. уж кому кому, но только не вам судить об уровне моих знаний. Моих знаний вполне достаточно что бы сделать это без правки файлов скрипта за 2-3 минуты. Удачи.

Lomot, нет, это вы уж меня простите, пожалуйста, если я вас обидел, а также за мою глупую невнимательность. Приношу вам свои публичные извинения. И предлагаю вам дружбу. Без обид?

Надеюсь, вы не будете против, если я отблагодарю вас рублем за то, что вы оказались единственным, кто мне указал на мою же ошибку и что самое главное невнимательность, а я вместо благодарности поступил по-свински. Обещаю впредь быть более внимательным.

Сообщите мне ваш яндекс.кошелек в л.с.

И еще раз огромное спасибо за помощь!

Изменено пользователем LADYX
Ссылка на сообщение
Поделиться на других сайтах

Сообщите мне ваш яндекс.кошелек в л.с.

Нет кошелек не скажу. Помогал бесплатно, пусть будет бесплатно до конца.

И еще раз огромное спасибо за помощь!

На здоровье.

Ссылка на сообщение
Поделиться на других сайтах

Lomot,LADYX,

обоим по плюсу, одному за то что мужик, другому за то что умеет признавать ошибки.

всем лучиков радости! ;)

Ссылка на сообщение
Поделиться на других сайтах

Нет кошелек не скажу. Помогал бесплатно, пусть будет бесплатно до конца.

Вы благородный человек. Еще раз прошу меня простить, и огромное спасибо за помощь.

Lomot,LADYX, обоим по плюсу, одному за то что мужик, другому за то что умеет признавать ошибки. всем лучиков радости!

Один мужик, а другой....... ты это на что намекаешь, что мужики не умеют признавать свои ошибки?)) шутка

Нет, на самом деле каждый должен уметь признавать свои ошибки, однако не часто в наше время такое встречается, к сожалению.

БлагоДарю за добрые пожелания.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...