textarea设置行距(做一个能自适应高度的textarea的示例代码)
类别:Web前端 浏览量:799
时间:2021-10-05 00:42:08 textarea设置行距
做一个能自适应高度的textarea的示例代码方法
1. HTML结构:
<li id="container"> <textarea rows="1"></textarea> </li>
2. CSS代码:
* { padding: 0; margin: 0; } #container { width: 300px; padding: 10px; border: 1px solid #eee; box-sizing: border-box; } textarea { display: block; width: 100%; font-size: 20px; color: #000; line-height: 24px; outline: none; border: none; resize: none; }
3. JS代码:
var textarea = document.querySelector('textarea') var inpnt = (function () { var baseHeight = null return function () { !baseHeight && (baseHeight = this.scrollHeight) this.rows = 1 var rows = Math.ceil(this.scrollHeight / baseHeight) >= 3 ? 3 : Math.ceil(this .scrollHeight / baseHeight) this.rows = rows } })() textarea.oninput = debounce(inpnt, 100) function debounce(func, delay) { var timer = null return function () { var _this = this var args = arguments timer && clearTimeout(timer) timer = setTimeout(function () { func.apply(_this, args) }, delay) } }
原理
!baseHeight && (baseHeight = this.scrollHeight) this.rows = 1 var rows = Math.ceil(this.scrollHeight / baseHeight) >= 3 ? 3 : Math.ceil(this .scrollHeight / baseHeight) this.rows = rows
第一行 获取基准高度 缓存起
第二行 重点 将textarea的rows设置成1 这样就能得到当前textarea的scrollHeight
第三行 拿到了当前textarea的scrollHeight 就可以算出rows
第四行 设置textarea的rows
通过设置textarea的rows属性来改变textarea的高度。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- iframe向子页面发送消息(使用postMessage让 iframe自适应高度的方法示例)
- 小程序scroll-view自适应高度(小程序瀑布流解决左右两边高度差距过大的问题)
- csstable列宽固定(css display table 自适应高度、宽度问题的解决)
- textarea设置行距(做一个能自适应高度的textarea的示例代码)
- 幼小衔接-20以内看图读数 写数 数的组成练习题(幼小衔接-20以内看图读数)
- 你只要花上20天记单词,英语成绩就能从57提到100(你只要花上20天记单词)
- 夕云天际飞,亢龙化太极(夕云天际飞亢龙化太极)
- 爱情可以当饭吃吗(怎么回复)
- 高考数学题(高考数学题基础题占多少分)
- 没钱只能吃土(没钱要吃土了幽默短信发朋友圈)
热门推荐
- python中如何限制数字的个数(python 处理数字,把大于上限的数字置零实现方法)
- php使用yield处理并发(Yii框架中使用PHPExcel的方法分析)
- docker端口配置(docker 无法释放端口的解决方案)
- 使用 LINQPad 调试linq以及lambda表达式
- python用于机器人(python控制nao机器人身体动作实例详解)
- 微信小程序接入第三方支付的方法(小程序通过小程序云实现微信支付功能实例)
- vue可以使用jsx语法吗(vue中正确使用jsx语法的姿势分享)
- sql server语法大全(SQL Server 全文搜索功能介绍)
- mysql将字符串转换为日期的函数(Mysql中时间戳转为Date的方法示例)
- python成绩判断系统(Python根据成绩分析系统浅析)