文字框高度自適應例項程式碼
在比較人性化的網站,文字框的高度並不是固定的,而是可以根據輸入內容的多少會自動調整文字框的高度,當然一般會實現規定一個最低高度,當文字框的輸入內容超過此高度時,就會自定調整文字框的高度,下面是一段這樣的例項程式碼,希望能夠給需要的朋友帶來一定的幫助。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>文字框高度自適應程式碼例項-螞蟻部落</title> <style type="text/css"> #textarea { font:1.4em/1.8em Arial; overflow:hidden; width:550px; height:6em; padding:10px; } </style> <script type="text/javascript"> var autoTextarea=function (elem,extra,maxHeight) { extra=extra||20; var isFirefox=!!document.getBoxObjectFor||'mozInnerScreenX' in window, isOpera=!!window.opera&&!!window.opera.toString().indexOf('Opera'), addEvent=function(type,callback) { elem.addEventListener ? elem.addEventListener(type,callback,false) : elem.attachEvent('on' + type, callback); }, getStyle=elem.currentStyle?function(name) { var val=elem.currentStyle[name]; if(name==='height'&&val.search(/px/i) !== 1) { var rect = elem.getBoundingClientRect(); return rect.bottom - rect.top - parseFloat(getStyle('paddingTop')) - parseFloat(getStyle('paddingBottom')) + 'px'; }; return val; } : function (name){ return getComputedStyle(elem, null)[name]; }, minHeight = parseFloat(getStyle('height')); elem.style.maxHeight = elem.style.resize = 'none'; var change = function () { var scrollTop, height, padding = 0, style = elem.style; if (elem._length === elem.value.length) return; elem._length = elem.value.length; if (!isFirefox && !isOpera) { padding = parseInt(getStyle('paddingTop')) + parseInt(getStyle('paddingBottom')); }; scrollTop = document.body.scrollTop || document.documentElement.scrollTop; elem.style.height = minHeight + 'px'; if(elem.scrollHeight > minHeight){ if (maxHeight && elem.scrollHeight > maxHeight) { height = maxHeight - padding; style.overflowY = 'auto'; } else { height = elem.scrollHeight - padding; style.overflowY = 'hidden'; }; style.height = height + extra + 'px'; scrollTop += parseInt(style.height) - elem.currHeight; document.body.scrollTop = scrollTop; document.documentElement.scrollTop = scrollTop; elem.currHeight = parseInt(style.height); }; }; addEvent('propertychange', change); addEvent('input', change); addEvent('focus', change); change(); }; window.onload=function(){ var text=document.getElementById("textarea"); var tip='螞蟻部落歡迎您..'; autoTextarea(text); text.value=tip; text.onfocus=function() { if(text.value===tip) text.value = ''; }; text.onblur=function() { if(text.value==='') text.value=tip; }; } </script> </head> <body> <textarea id="textarea"></textarea> </body> </html>
以上程式碼實現了我們想要的功能,當輸入文字的時候能夠適當的調整文字框的大小,以適應內容。
相關文章
- textarea文字框高度自適應程式碼例項
- iframe高度自適應程式碼例項
- <iframe>高度自適應程式碼例項
- input文字框實現寬度自適應程式碼例項
- ajax應用實現iframe高度自適應程式碼例項
- jquery實現的iframe高度自適應程式碼例項jQuery
- 原生javascript實現的iframe高度自適應程式碼例項JavaScript
- jQuery textarea框高度自適應jQuery
- css實現的規定最小高度然後高度自適應程式碼例項CSS
- 文字嵌入邊框程式碼例項
- 密碼框提示文字程式碼例項密碼
- 詳細實現微信輸入框效果(textView自適應文字高度)TextView
- 文字框與文字垂直對齊程式碼例項
- 圖片尺寸大小自適應程式碼例項
- 文字框點選清除預設文字例項程式碼
- 讓input文字框文字垂直居中程式碼例項
- 密碼框提示文字效果程式碼例項密碼
- 當前文字框高亮效果程式碼例項
- js動態建立文字框程式碼例項JS
- js實現文字框提示程式碼例項JS
- input文字框圓角效果程式碼例項
- input文字框寬度自適應
- 文字框輸入完成自動跳入下一個程式碼例項
- 移動端字型大小自適應程式碼例項
- 小程式Swiper高度自適應
- 選中文字框文字觸發事件程式碼例項事件
- 點選按鈕複製文字框文字程式碼例項
- javascript實現的iframe高度自適應程式碼JavaScript
- 移動端頁面大小自適應程式碼例項
- 微信小程式Swiper高度自適應微信小程式
- 實現一個高度自適應的輸入框
- jQuery點選文字框清除內容程式碼例項jQuery
- js判斷文字框是否為空程式碼例項JS
- 限定文字框只能輸入數字例項程式碼
- 文字框輸入數字倒計例項程式碼
- 文字框獲得和失去焦點程式碼例項
- js檢測文字框是否為空程式碼例項JS
- Android FixedTextView 字型大小自適應文字框AndroidTextView