最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
做一个能自适应高度的textarea代码实例
时间:2022-06-25 18:02:12 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下做一个能自适应高度的textarea代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
方法
1. HTML结构:
2. CSS代码:
css;"> * {
padding: 0;
margin: 0;
}
#container {
padding: 10px;
border: 1px solid #eee;
box-sizing: border-box;
}
textarea {
display: block;
width: 100%;
font-size: 20px;
color: #000;
line-
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的高度。
相关文章
- mcjs网页版即点即玩-mcjs极速秒玩入口 10-23
- 超星学习通网页版登录-超星学习通官网入口 10-23
- poki免费游戏大全-poki免费游戏在线畅玩入口 10-23
- mc.js官方在线入口 10-23
- 海角haijiao社区2025全新网址一键直达-海角社区最新官方入口地址 10-23
- 王者荣耀世界体力上限与恢复方法详解 王者荣耀世界体力机制全面解析 10-20