點選獲取焦點可以伸縮的搜尋框程式碼例項
在實際應用中經常有這樣的搜尋框,那就是當搜尋框獲取焦點的時候能夠自動延伸,離開的時候又會恢復到原來的長度,下面就通過程式碼例項介紹一下如何實現此功能,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title>螞蟻部落</title> <style> #txt{ width:200px; border:1px solid #ccc; } </style> <script> window.onload = function () { var otxt = document.getElementById("txt"); var maxW = 250; var minW = 200; var timer = null; otxt.onfocus = function () { timer = setInterval(function () { if (otxt.offsetWidth >= maxW) { clearInterval(timer); } else { otxt.style.width = (otxt.offsetWidth + 2) + "px"; } },50) } otxt.onblur = function () { timer = setInterval(function () { if (otxt.offsetWidth >= minW) { otxt.style.width = (otxt.offsetWidth - 4) + "px"; } else { clearInterval(timer); } }, 50) } } </script> </head> <body> <input type="text" id="txt"/> <input type="button" id="bt" value="搜尋"/> </body> </html>
上面的程式碼實現了我們的要求,當然實際應用的中效果更為美觀一些,通常是採用緩衝效果。
具體可以參閱滑鼠點選文字框寬度緩衝增加效果一章節,下面介紹一下上面效果的實現過程。
一.程式碼註釋:
(1).window.onload = function () {},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var otxt = document.getElementById("txt"),獲取文字框元素。
(3).var maxW = 250,宣告一個變數並賦值為250,作為最大值。
(4).var minW = 200,宣告一個變數並賦值為200,作為最小值。
(5).var timer = null,宣告一個變數,用來作為定時器函式的標識。
(6).otxt.onfocus = function () {},為文字框註冊onfocus 事件處理函式。
(7).timer = setInterval(function () {
if (otxt.offsetWidth >= maxW) {
clearInterval(timer);
} else {
otxt.style.width = (otxt.offsetWidth + 2) + "px";
}
},50),一個定時器函式,每隔50毫秒執行一次指定的函式。
如果文字框的offsetWidth值大於等於最大值,那麼就停止定時器函式的執行。
否則就會每執行一次width屬性值加4,因為otxt.offsetWidth等於width+border。
二.相關閱讀:
(1).setInterval()可以參閱setInterval()一章節。
(2).offsetWidth可以參閱js offsetWidth一章節。
(3).clearInterval()可以參閱window.clearInterval()一章節。
相關文章
- 滑鼠懸浮可以伸縮的搜尋框程式碼例項
- jQuery可伸縮搜尋框程式碼例項jQuery
- input文字框獲取焦點伸縮效果
- 點選可以展開和關閉的搜尋框程式碼例項
- 搜尋框帶有搜尋提示點選消失程式碼例項
- 文字框獲得和失去焦點程式碼例項
- css 文字框focus獲取焦點設定樣式程式碼例項CSS
- jQuery 伸縮搜尋框jQuery
- 點選方向鍵實現文字框焦點切換程式碼例項
- js讓文字框獲取焦點程式碼JS
- jQuery文字框獲取焦點和失去焦點jQuery
- 美觀的搜尋框程式碼例項
- div css搜尋框效果程式碼例項CSS
- javascript文字框獲取焦點設定其樣式程式碼JavaScript
- jQuery實現文字框獲取焦點jQuery
- 垂直可伸縮的導航選單例項程式碼單例
- 搜尋框關鍵字智慧匹配例項程式碼例項
- jquery註冊文字框獲取焦點清空,失去焦點賦值jQuery賦值
- CSS實現的文字框獲取焦點設定樣式程式碼CSS
- 點選左右箭頭可以移動選項例項程式碼
- jQuery點選文字框清除內容程式碼例項jQuery
- 文字框點選清除預設文字例項程式碼
- js獲取點選單元格中的內容程式碼例項JS
- 文字框獲取焦點設定樣式
- 文字框失去焦點即刻進行表單驗證程式碼例項
- 去除input焦點描邊程式碼例項
- 點選文字框彈出可供選擇的checkbox核取方塊程式碼例項
- 點選標題可以展開效果程式碼例項
- 點選按鈕複製文字框文字程式碼例項
- 點選enter回車能夠切換表單元素焦點程式碼例項
- jquery獲取指定元素的父節點程式碼例項jQuery
- js點選文字框選中文字效果程式碼例項JS
- JavaScript文字框獲取焦點彈出tipsJavaScript
- vue中文字框自動獲取焦點Vue
- 點選文字框彈出可檢索下拉選單程式碼例項
- 如何使用angularjs實現文字框獲取焦點AngularJS
- 點選側邊欄展開和收縮程式碼例項
- EasyUI實現點選開啟編輯框並獲得焦點的方法UI