JS輸入用戶名自動(dòng)顯示郵箱后綴列表的方法
本文實(shí)例講述了JS輸入用戶名自動(dòng)顯示郵箱后綴列表的方法。分享給大家供大家參考。具體如下:
以下是代碼,保存到html文件打開(kāi):
<html>
<head>
<meta charset="UTF-8">
<title>輸入用戶名自動(dòng)顯示郵箱后綴列表</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 style="width:736px;margin:10px auto;">
請(qǐng)?jiān)谙路捷斎豚]箱用戶名:
<div class="parentCls">
<input type="text" class="inputElem">
</div>
</div>
</body>
</html>
原理是:一個(gè)輸入框 當(dāng)我輸入任何字的時(shí)候 自動(dòng)下拉相應(yīng)的郵箱提示,在輸入框輸入11的時(shí)候 下拉框有所有11的郵箱 輸入其他的時(shí)候 有其他文案對(duì)應(yīng)的郵箱。
同理 此插件不需要任何html標(biāo)簽,只需要一個(gè)輸入框 有相對(duì)應(yīng)的class類名就ok 且父級(jí)有個(gè)class類名,其他的都不需要。內(nèi)部的HTML代碼都是自動(dòng)生成的。
HTML代碼如下:
<input type="text" class="inputElem">
</div>
其實(shí)上面的div標(biāo)簽都可以不需要 只需要在input輸入框 且父級(jí)元素添加一個(gè)如上class(自定義也可以,只是在JS初始化的時(shí)候要傳入class就ok 我默認(rèn)情況下 父級(jí)class叫parentCls,當(dāng)前輸入框class叫inputElem,隱藏域的class叫hiddenCls,在初始化的時(shí)候 直接初始化 傳入空對(duì)象即可!)。因?yàn)轫?yè)面上可能有多個(gè)輸入框 所以需要一個(gè)父級(jí)class 來(lái)區(qū)分是那個(gè)輸入框,當(dāng)然要個(gè)隱藏域 存值給開(kāi)發(fā)后臺(tái)。
其中在配置項(xiàng)里面 有個(gè)郵箱數(shù)組參數(shù) mailArr : ["@qq.com","@qq2.com","@gmail.com","@126.com","@163.com","@hotmail.com","@yahoo.com","@yahoo.com.cn","@live.com","@sohu.com","@sina.com"] 。就是要告訴我們默認(rèn)郵箱有這么多,不管我輸入什么 下拉框初始化時(shí)候有這么多郵箱提示,當(dāng)我精確到某一項(xiàng)的時(shí)候 在給個(gè)提示 精確到某一項(xiàng)下拉。當(dāng)然由于需求的變更 郵箱這個(gè)參數(shù)可以自己初始化時(shí)候 自己根據(jù)需求配置。
實(shí)現(xiàn)的功能如下:
1. 支持鍵盤上下移鍵盤操作,支持鼠標(biāo)點(diǎn)擊及按回車操作。
2. 點(diǎn)擊document時(shí)候 除當(dāng)前input輸入框之外 下拉框隱藏。當(dāng)接著輸入時(shí)候 實(shí)現(xiàn)自動(dòng)匹配等等操作。
具體不多說(shuō) 就是類似于網(wǎng)上注冊(cè)時(shí)候 郵箱自動(dòng)提示功能一樣 ,如果有任何bug的話 可以給我留言,就不羅嗦了!
CSS代碼如下:
*{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代碼點(diǎn)擊此處本站下載。
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
相關(guān)文章
javascript實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的代碼
下面小編就為大家?guī)?lái)一篇javascript實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的代碼小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05一個(gè)可以得到元素真實(shí)的背景顏色的javascript腳本
一個(gè)可以得到元素真實(shí)的背景顏色的javascript腳本...2007-07-07js最實(shí)用string(字符串)類型的使用及截取與拼接詳解
這篇文章主要介紹了js string使用截取與拼接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04簡(jiǎn)單了解JavaScript中的執(zhí)行上下文和堆棧
這篇文章主要介紹了簡(jiǎn)單了解JavaScript中的執(zhí)行上下文和堆棧,你應(yīng)該對(duì)解釋器了解得更清楚:為什么在聲明它們之前可以使用某些函數(shù)或變量?以及它們的值是如何確定的?,需要的朋友可以參考下2019-06-06JavaScript的parseInt 進(jìn)制問(wèn)題
今天在整理以前寫過(guò)的一段根據(jù)周期值自動(dòng)計(jì)算下次執(zhí)行日期的js代碼,發(fā)現(xiàn)一bug,我使用parseInt對(duì)源數(shù)據(jù)串進(jìn)行轉(zhuǎn)換,當(dāng)輸入類似:2009-05-05時(shí),parseInt將把串的05做8進(jìn)制轉(zhuǎn)換,這樣結(jié)果自然就不對(duì)了。2009-05-05JS小功能(列表頁(yè)面隔行變色)簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了JS列表頁(yè)面隔行變色簡(jiǎn)單實(shí)現(xiàn),有需要的朋友可以參考一下2013-11-11js實(shí)現(xiàn)遍歷含有input的table實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)遍歷含有input的table方法,結(jié)合實(shí)例形式分析了jsp讀取數(shù)據(jù)庫(kù)動(dòng)態(tài)生成table及JavaScript遍歷table的相關(guān)技巧,需要的朋友可以參考下2015-12-12JavaScript switch case 的用法實(shí)例[范圍]
JavaScript switch case 的用法實(shí)例,大家可以參考下。2009-09-09