我试图制作自己的弹性文本区域代码以供练习。这是我目前拥有的
$(".textareaField").keyup(function() {
var height = $(this).height();
var lines = $(this).val().split('\n');
var line_count = lines.length;
var total_lines = 8;
if(total_lines < line_count) {
$(this).animate({
"height" : (line_count * 25)
}, 200);
} else {
$(this).animate({
"height" : 200
}, 200);
}
});
total_lines
是该 textarea 中可能的行数,它是 8,因为 textarea 的初始高度是 200 px,line-height 是 25 px。200/25 = 初始配置可能有 8 行。我想要实现的是在用户删除几行时缩短文本区域,并在 8 行(200 像素)处停止降低高度。