最新下载
热门教程
- 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的高度。
相关文章
- 国家中小学网络云平台官网-免费网课登录入口 01-05
- 搜狗浏览器极速网页版入口-搜狗搜索2026全新网页版登录地址 01-05
- B站直播软件哪个好用-B站直播软件强力推荐 01-05
- 365日历网页版登录入口-365日历云端同步登录入口 01-05
- 白月光遇上朱砂痣啥意思-白月光与朱砂痣各自暗喻啥 01-05
- 易企秀官网网页版入口-易企秀登录网页版入口 01-05