javascript - 以平滑的方式更改文本区域大小

标签 javascript jquery html

我想实现这种效果:当用户将焦点放在表单中的文本区域时,它会变高,模糊时会达到原始大小。 这是我到目前为止所做的:http://jsfiddle.net/jRYDw/

我的代码:

$('textarea').focus(function(){
    $(this).css('height','80px');
});

$('textarea').blur(function(){
    $(this).css('height','40px');
});

我想做的是让textarea平滑展开,可以吗?

最佳答案

我不得不使用动画功能

$('textarea').focus(function(){
    $(this).animate({height:'80px'});
});

$('textarea').blur(function(){
    $(this).animate({height:'40px'});
});

您可以指定动画的长度、缓动函数以及动画完成时的回调。

.animate( properties [, duration] [, easing] [, complete] )

引用 - http://api.jquery.com/animate/

DEMO

关于javascript - 以平滑的方式更改文本区域大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10928588/

相关文章:

javascript - 如何在arbor js中为每个节点文本添加新行字符

javascript - 脚本属性阻止 JavaScript 运行

html - IE 列表样式位置 :inside issues

javascript - 如何创建一个弹出窗口来选择本地目录中的文件?

javascript - 按字母顺序对下拉列表的条目进行排序

javascript - 使用 jquery 的响应式弹出 div

javascript - 使用 CompositeView 呈现递归结构,同时使用 Marionette 将每个模型封装在 ItemView 中

javascript - 单击时将类添加到事件菜单

javascript - HTML 中的复选框值

javascript - 套接字IO匿名.on()函数不能使用jquery