文本框根据输入内容自适应高度的代码_表单特效
其实现代浏览器大多都支持文本框尺寸调节功能,绝大多数情况下却没有自动适应来得爽快,在网络上发现一方法比较简单的实现文本框高度自适应,于是封装了这个函数,准备以后应用到项目中。
源代码:
23:03文章更新:
感谢alucelx同学再次给力的帮助,大大简化了方法,更新代码为0.2版本,同时解决了兼容Opera浏览器,至此全兼容IE6+与现代浏览器!
在线演示: http://demo.jb51.net/js/2011/autoArea/index.htm
autoTextarea.js
/**
* 文本框根据输入内容自适应高度
* @author tang bin
* @version 0.3
* @see http://www.planeart.cn/?p=1489
* @param {HTMLElement} 输入框元素
* @param {Number} 设置光标与输入框保持的距离(默认20)
* @param {Number} 设置最大高度(可选)
*/
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();
};
测试代码:
<script> <BR>var text = document.getElementById("textarea"), <BR>tip = '想写点什么..'; <BR>autoTextarea(text);// 调用 <BR>text.value = tip; <BR>text.onfocus = function () { <BR>if (text.value === tip) text.value = ''; <BR>}; <BR>text.onblur = function () { <BR>if (text.value === '') text.value = tip; <BR>}; <BR></script>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Onenote是Microsoft提供的最好的筆記工具之一。結合Outlook和MSTeams,Onenote可以成為提高工作和個人創意工作效率的強大組合。我們必須以不同的格式做筆記,這可能不僅僅是把事情寫下來。有時我們需要從不同來源複製圖像並在日常工作中進行一些編輯。如果知道如何應用更改,則貼上在Onenote上的圖像可以發揮很大作用。您在使用Onenote時是否遇到過貼在Onenote上的圖像無法讓您輕鬆工作的問題?本文將著重於在Onenote上有效地使用圖像。我們可

如何在 PowerPoint 中的任何點擊之前隱藏文本如果您希望在單擊 PowerPoint 幻燈片上的任意位置時顯示文本,那麼設置起來既快速又容易。若要在 PowerPoint 中按一下任何按鈕之前隱藏文字:開啟您的 PowerPoint 文檔,然後按一下「插入 」功能表。點選新幻燈片。選擇空白或其他預設之一。仍然在插入選單中,按一下文字方塊。在投影片上拖出一個文字方塊。點擊文字方塊並輸入您

如何使用表格在Word中製作日曆如果您想建立一個完全符合您的規範的日曆,您可以使用Word中的表格從頭開始做所有事情。這使您可以為日曆設計所需的確切佈局。在Word中使用表格建立行事曆:開啟一個新的Word文件。按Enter幾次,將遊標向下移動到頁面。點選插入 選單。在功能區中,按一下表格圖示。點擊並按住左上角的方塊並拖曳出一個7×6的表格。在第一行填寫星期幾。使用另一個日曆作為參考填寫月份中的日期。反白顯示當前月份以外的任何日期。在主選單中,點擊文字顏色圖示並選擇灰色。對當前月份以

html文字方塊類型有單行文字方塊、密碼文字方塊、數字文字方塊、日期文字方塊、時間文字方塊、檔案上傳文字方塊、多行文字方塊等等。詳細介紹:1、單行文本框是最常見的文本框類型,用於接受單行文本輸入,用戶可以在文本框中輸入任意文本,例如用戶名、密碼、電子郵件地址等;2、密碼文本框用於接受密碼輸入,使用者在輸入密碼時,文字方塊中的內容會被隱藏,以保護使用者的隱私;3、數位文字方塊等等。

若要為HTML文字區域新增換行符,我們可以使用HTML換行符號標籤在任意位置插入換行符。或者,我們也可以使用CSS屬性「white-space:pre-wrap」自動為文字新增換行符。當在文字區域中顯示預先格式化的文字時,這特別有用。因此,我們來討論一下添加換行符的方法。方法在HTML中建立一個文字區域並為其指派一個id。建立一個按鈕,按一下該按鈕將使用換行符號分割文字區域的文字。現在建立將文字分成換行符的函數。此函數的程式碼為-functionreplacePeriodsWithLineBreaks()

文字框邊框設定透明方法:1、開啟文檔,選取已插入的文字框,滑鼠右鍵選擇「設定物件格式」;2、在右側彈出框,選擇「形狀選項」—「填滿與線條」—「透明度」;3、依需求調整透明度即可。

設定文字方塊邊框顏色的方法:1、選取要新增邊框的文字或段落;2、在「開始」標籤的「段落」或「字型」群組中,按一下「邊框」按鈕;3、從下拉式選單中選擇邊框樣式;4、點選「邊框顏色」按鈕,在彈出的選單中選擇您想要的顏色;5、點選「確定」按鈕以套用邊框樣式和顏色。

標題:如何寫出帶有捲軸的HTML文字方塊程式碼HTML中的文字方塊是常用的使用者輸入控制項之一,在某些情況下,文字內容過長時會導致文字方塊顯示不完整。這時,我們可以透過新增捲軸來讓文字方塊支援滾動查看。本文將詳細介紹如何撰寫具有捲軸效果的HTML文字方塊程式碼,並給出具體的程式碼範例。一、使用textarea元素建立文字方塊在HTML中,我們使用textarea元素來建立文字框
