中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現一個自適應高度的textarea

發布時間:2021-04-14 15:58:01 來源:億速云 閱讀:276 作者:Leah 欄目:web開發

今天就跟大家聊聊有關怎么實現一個自適應高度的textarea,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

方法

1. HTML結構:

<div id="container">
        <textarea rows="1"></textarea>
    </div>

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的高度。

看完上述內容,你們對怎么實現一個自適應高度的textarea有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海南省| 合川市| 长顺县| 攀枝花市| 峨眉山市| 浦北县| 芜湖市| 皮山县| 那曲县| 长寿区| 新安县| 会宁县| 田东县| 高平市| 旬邑县| 武平县| 清水县| 襄汾县| 霍邱县| 浠水县| 武乡县| 穆棱市| 安图县| 成武县| 松溪县| 故城县| 岢岚县| 门源| 开平市| 新丰县| 宜阳县| 扎兰屯市| 旬阳县| 禹州市| 平遥县| 萨嘎县| 杭州市| 合阳县| 鄂尔多斯市| 蕲春县| 日土县|