Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery动画属性?_Jquery_Jquery Animate_Autosize_Autogrow - Fatal编程技术网

Jquery动画属性?

Jquery动画属性?,jquery,jquery-animate,autosize,autogrow,Jquery,Jquery Animate,Autosize,Autogrow,对于自动增长(自动调整大小)的文本区域,我使用如下内容: $('textarea').keyup(function() { $(this).attr('rows', $(this).val().split("\n").length); }); 如何将平滑动画添加到上述代码的自动增长中 带有行的函数.animate()不起作用。最好使用高度CSS。仅当textarea设置为不换行文本时,代码才起作用 试着这样做: $('textarea').keyup(function() {

对于自动增长(自动调整大小)的文本区域,我使用如下内容:

$('textarea').keyup(function() {
    $(this).attr('rows', $(this).val().split("\n").length);
});
如何将平滑动画添加到上述代码的自动增长中


带有
行的函数
.animate()
不起作用。

最好使用
高度
CSS。仅当textarea设置为不换行文本时,代码才起作用

试着这样做:

$('textarea').keyup(function() {
    this.style.height = (this.scrollHeight+8)+"px";
});
然后,如果您在textarea上设置了合适的
transition
属性,它将设置动画。

您也可以尝试:

您可以在css文件中设置行高、样式属性,如
或者使用jquery:

$('textarea').css({'line-height':'18px'}).keyup(...});

更新

您可以这样做以避免收缩: 试试这个

$('textarea').keyup(function(e) {
  var code = (e.keyCode ? e.keyCode : e.which);
  if (code==13) {
    $(this).attr('rows', $(this).val().split("\n").length + 1);
  }
});

这里不需要使用jQuery或javascript-只需使用CSS3转换(设置高度)伙计们,当设置一些键时,您的代码正在增长,而不是新行,代码中的8px(为什么是8)是什么?好的,请原谅,您必须使用文本区域的像素值设置行高。查看更新
$('textarea').keyup(function(e) {
  var code = (e.keyCode ? e.keyCode : e.which);
  if (code==13) {
    $(this).attr('rows', $(this).val().split("\n").length + 1);
  }
});