javascript - 动画文本区域以适应文本区域的内容

标签 javascript jquery html css

我想调整文本区域的大小以适应文本区域的内容。

我目前正在使用以下代码来执行此操作:

var element = document.getElementById(event.target.id);
var content = $(this).val().trim();

if (content == "") {
    $(this).animate({
        width: element.scrollWidth,
        height: element.scrollHeight
    }, 100);
}

当我什么都不输入时。我希望文本区域变小并最终消失。

但它反而在扩张。 :(

JSFiddle:http://jsfiddle.net/7vfjet1g/

最佳答案

我认为您正在寻找的是 flex 文本区域。有一些 JavaScript 库提供此功能:

https://github.com/chemerisuk/better-elastic-textarea

https://github.com/chrisgeo/elastic-textarea

http://unwrongest.com/projects/elastic/

它的代码不多,而是 JavaScript 和 CSS 的精心组合。如果出于某种原因您不想将另一个库添加到您的元素中,或者这不符合您的要求,它可能会为您指明正确的方向。祝你好运。

关于javascript - 动画文本区域以适应文本区域的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31663747/

相关文章:

javascript - 图像文件夹中的图像未加载到 mobilefirst 中

javascript - 完成后移除动画

javascript - 当某个类调用时,我如何设置隐藏的正文溢出

javascript - 获取具有相同 ID 和名称的输入值

javascript - 如何像jquery中的触发器('click'一样触发knockout.js中的点击事件?

html - 我可以在 CSS 文件中放入可显示的文本吗?

javascript - 是否可以传递立即调用的函数表达式的执行上下文

javascript - fullcalendar - 如何使用 ajax 加载日历上的所有事件

javascript - Jquery 数据属性问题

javascript - 基于DIV而不是整个页面的阅读位置指示器