Ресайз textbox'а без jQuery

Есть любые вопросы, связанные со стилями/темами для phpBB 3.0.x? Задайте их здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Ресайз textbox'а без jQuery

Сообщение evrus01 »

ГУРУ, подскажите, как реализовать функцию ресайза поля ввода без использования jQuery.
Кнопочки [+] [‒]

Заранее благодарю за ваши ответы.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Ресайз textbox'а без jQuery

Сообщение Nekstati »

А на Mootools и без кнопочек — не пойдёт? Как здесь.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Ресайз textbox'а без jQuery

Сообщение evrus01 »

Кнопочки очень хочется :)

Я уже даже шаблон сверстал сижу выбираю.
Кнопки (скриншот) или иконки (скриншот)?
romeo_piter
phpBB 2.0.22
Сообщения: 1375
Стаж: 17 лет 5 месяцев
Благодарил (а): 260 раз
Поблагодарили: 32 раза

Re: Ресайз textbox'а без jQuery

Сообщение romeo_piter »

Nekstati писал(а):А на Mootools и без кнопочек — не пойдёт? Как здесь.
Дайте плиз ссылку.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Ресайз textbox'а без jQuery

Сообщение evrus01 »

Вы про код для mootools?

Код: Выделить всё

<script type="text/javascript">
// <![CDATA[
window.addEvent('load', function() {
		var txt = $('message-box').getElement('textarea');
		if (!window.ie6 && (txt.style.resize === undefined)) {
			var mov = new Element('div').addClass('txt-resizer').injectAfter(txt);
			txt.makeResizable({handle: mov, limit: {y: [130, 1000]}});
		}
	});
// ]]>
</script>
В коде ГУРУ подсмотрел.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Ресайз textbox'а без jQuery

Сообщение Nekstati »

Для случая на Mootools нужна ещё картинка Изображение и CSS:

Код: Выделить всё

.txt-resizer {
	background: url("{T_THEME_PATH}/images/txt-resizer.png") no-repeat 50% 0;
    cursor: s-resize;
    height: 8px;
    margin: 0 !important;
    position: relative;
    top: -4px;
}
*:first-child+html .txt-resizer {
	top: -5px;
}
#message-box textarea {
	width: 500px !important;
	min-width: 100% !important;
	overflow: auto;
}
Скрипт этот срабатывает только для тех браузеров, у которых нет встроенной функции ресайза, т. е. для IE и Оперы.
_______________________________________

Для случая с кнопками.

1. Добавляем куда-нибудь в forum_fn.js:

Код: Выделить всё

function resizeTextbox(min) {
	var t = document.getElementById('message') || document.getElementById('signature');
	var h = t.offsetHeight;
	if (min && h < 100)
		return;
	if (min)
		t.style.height = h - 50 + 'px';
	else
		t.style.height = h + 50 + 'px';
}
2. Ищем в posting_editor.html

Код: Выделить всё

{MESSAGE}{DRAFT_MESSAGE}{SIGNATURE}</textarea>
	</div>
Добавляем после

Код: Выделить всё

	<div><a href="#" onclick="resizeTextbox(true); return false;">[-]</a> <a href="#" onclick="resizeTextbox(false); return false;">[+]</a></div>
Проверяла только на Firefox.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Ресайз textbox'а без jQuery

Сообщение evrus01 »

Opera, Chrome, IE — полет нормальный.

Спасибо огромное.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Ресайз textbox'а без jQuery

Сообщение MIT »

Nekstati писал(а):Скрипт этот срабатывает только для тех браузеров, у которых нет встроенной функции ресайза, т. е. для IE и Оперы.
CSS resize:none
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Ресайз textbox'а без jQuery

Сообщение Nekstati »

MIT, зачем? Пусть юзается нативная функция.
Аватара пользователя
evrus01
Former team member
Сообщения: 1274
Стаж: 15 лет 6 месяцев
Откуда: Москва
Благодарил (а): 107 раз
Поблагодарили: 234 раза

Re: Ресайз textbox'а без jQuery

Сообщение evrus01 »

Действительно, лучше оставить функцию. Однако все равно спасибо MIT, теперь я знаю, что есть такое правило :)

Вернуться в «Стили для phpBB 3.0.x»