本文實例講述了JS輸入用戶名自動顯示郵箱後綴列表的方法。分享給大家供大家參考。具體如下:
以下是代碼,保存到html文件打開:
複製代碼代碼如下:<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>輸入用戶名自動顯示郵箱後綴列表</title>
<script type="text/javascript" src="jquery/jquery-1.10.2.min.js"></script>
<style>
*{margin:0;padding:0;}
ul,li{list-style:none;}
.inputElem {width:198px;height:22px;line-height:22px;border:1px solid #ff4455;}
.parentCls{width:200px;}
.auto-tip li{width:100%;height:22px;line-height:22px;font-size:14px;}
.auto-tip li.hoverBg{background:#ddd;cursor:pointer;}
.red{color:red;}
.hidden {display:none;}
</style>
<script type="text/javascript" src="js/emailAutoComplete.js"></script>
</head>
<body>
<div>
請在下方輸入郵箱用戶名:
<div>
<input type="text">
</div>
</div>
</body>
</html>
原理是:一個輸入框當我輸入任何字的時候自動下拉相應的郵箱提示,在輸入框輸入11的時候下拉框有所有11的郵箱輸入其他的時候有其他文案對應的郵箱。
同理此插件不需要任何html標籤,只需要一個輸入框有相對應的class類名就ok 且父級有個class類名,其他的都不需要。內部的HTML代碼都是自動生成的。
HTML代碼如下:
複製代碼代碼如下:<div>
<input type="text">
</div>
其實上面的div標籤都可以不需要只需要在input輸入框且父級元素添加一個如上class(自定義也可以,只是在JS初始化的時候要傳入class就ok 我默認情況下父級class叫parentCls,當前輸入框class叫inputElem,隱藏域的class叫hiddenCls,在初始化的時候直接初始化傳入空對象即可!)。因為頁面上可能有多個輸入框所以需要一個父級class 來區分是那個輸入框,當然要個隱藏域存值給開發後台。
其中在配置項裡面有個郵箱數組參數mailArr : ["@qq.com","@qq2.com","@gmail.com","@126.com","@163.com","@hotmail.com","@yahoo.com","@yahoo.com.cn","@live.com","@sohu.com","@sina.com"] 。就是要告訴我們默認郵箱有這麼多,不管我輸入什麼下拉框初始化時候有這麼多郵箱提示,當我精確到某一項的時候在給個提示精確到某一項下拉。當然由於需求的變更郵箱這個參數可以自己初始化時候自己根據需求配置。
實現的功能如下:
1. 支持鍵盤上下移鍵盤操作,支持鼠標點擊及按回車操作。
2. 點擊document時候除當前input輸入框之外下拉框隱藏。當接著輸入時候實現自動匹配等等操作。
具體不多說就是類似於網上註冊時候郵箱自動提示功能一樣,如果有任何bug的話可以給我留言,就不羅嗦了!
CSS代碼如下:
複製代碼代碼如下:<style>
*{margin:0;padding:0;}
ul,li{list-style:none;}
.inputElem {width:198px;height:22px;line-height:22px;border:1px solid #ff4455;}
.parentCls{width:200px;}
.auto-tip li{width:100%;height:22px;line-height:22px;font-size:14px;}
.auto-tip li.hoverBg{background:#ddd;cursor:pointer;}
.red{color:red;}
.hidden {display:none;}
</style>
emailAutoComplete.js代碼點擊此處本站下載。
希望本文所述對大家的javascript程序設計有所幫助。