練習用に独自のエラスティックテキストエリアコードを作成しようとしました。これは私が現在持っているものです
$(".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で可能な行数であり、textareaの初期の高さが200 pxで、line-heightが25 pxであるため、8行です。200/25=初期構成で8行可能。私が達成したいのは、ユーザーが数行を削除したときにテキストエリアを短くし、高さを8行(200ピクセル)に減らすのをやめることです。