中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

怎么實現(xiàn)一個自適應(yīng)高度的textarea-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)怎么實現(xiàn)一個自適應(yīng)高度的textarea,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、海原網(wǎng)站維護、網(wǎng)站推廣。

方法

1. HTML結(jié)構(gòu):

<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設(shè)置成1 這樣就能得到當前textarea的scrollHeight

第三行 拿到了當前textarea的scrollHeight 就可以算出rows

第四行 設(shè)置textarea的rows

通過設(shè)置textarea的rows屬性來改變textarea的高度。

看完上述內(nèi)容,你們對怎么實現(xiàn)一個自適應(yīng)高度的textarea有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

分享文章:怎么實現(xiàn)一個自適應(yīng)高度的textarea-創(chuàng)新互聯(lián)
當前網(wǎng)址:http://www.rwnh.cn/article18/ddspdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、用戶體驗、軟件開發(fā)、網(wǎng)站收錄企業(yè)網(wǎng)站制作、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
青神县| 都兰县| 子洲县| 平阴县| 鄢陵县| 巴马| 栾川县| 聂拉木县| 克什克腾旗| 古浪县| 雷波县| 安化县| 乳源| 安溪县| 环江| 正镶白旗| 平顶山市| 瑞安市| 哈巴河县| 仲巴县| 班戈县| 庐江县| 汽车| 沁阳市| 武川县| 大竹县| 宾川县| 十堰市| 台中市| 平阳县| 景宁| 黎平县| 无为县| 樟树市| 瑞昌市| 阿城市| 海盐县| 中超| 旬阳县| 临汾市| 河北区|