Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   изменение размеров textarea после выполнения js (https://javascript.ru/forum/dom-window/54124-izmenenie-razmerov-textarea-posle-vypolneniya-js.html)

SpearMint 04.03.2015 15:25

изменение размеров textarea после выполнения js
 
Здравствуйте! Есть js предназначенный для изменения размеров textarea при условии фокуса на ней (снизу для красоты выезжает кнопочка), всё работает, но когда, допустим пользователь теряет фокус с объекта и изменяет его высоту/ширину, js его возвращает к исходным размерам.
Собственно вопрос: как можно сделать так, что бы после выполнения этой функции пользователь мог свободно изменить размер без возвращения к исходной.
$(function() {
		    $("#comment_posting_textarea").focus(function(){/* обращение к textarea при условии фокуса */
		        $(this).animate({ width:"400px"}, 1000);/* изменение ширины */
		        $(this).animate({ height:"150px"}, 1000);/* изменение ширины */
		        $("#comment_posting_submit").animate({ marginLeft:"328px", opacity: "1"}, 1000);/* выезжает кнопка + её постепенное "проявление" */
		    });
		});


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

danik.js 04.03.2015 15:52

Цитата:

Сообщение от SpearMint
$(this).animate({ width:"400px"}, 1000);/* изменение ширины */
4 $(this).animate({ height:"150px"}, 1000);/* изменение ширины */

Ну и нахрена так писать? Можно же записать все свойства в одном animate.

Попробуй так:
var props = {};
if (this.offsetWidth < 400)
    props['width'] = 400;
if (this.offsetHeight < 150)
    props['height'] = 150;
$(this).animate(props, 1000);


Часовой пояс GMT +3, время: 18:03.