jquery css實(shí)現(xiàn)郵箱自動補(bǔ)全
今天在公司做一個(gè)電子商務(wù)網(wǎng)站的注冊會員時(shí),要求用戶在電子郵箱文本框中輸入時(shí),給與熱點(diǎn)提示常用的電子郵箱,幫助用戶選擇,提高體驗(yàn)效果。下面是用Jquery+css實(shí)現(xiàn)的郵箱自動補(bǔ)全,供大家參考和學(xué)習(xí)。
HTML代碼:emailAutoComple.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>郵箱自動補(bǔ)全</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link type="text/css" rel="stylesheet" href="css/emailAutoComple.css"> <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="js/emailAutoComple.js"></script> <script type="text/javascript"> $(function(){ $.AutoComplete("#email"); //(要補(bǔ)全文本框的id) }); </script> </head> <body> <form action=""> 姓名:<input type="text" name="userName" id="userName"/><br/> 郵箱:<input type="text" name="email" id="email"/> </form> </body> </html>
JS代碼:js/emailAutoComple.js(實(shí)現(xiàn)自動補(bǔ)全的關(guān)鍵代碼)
jQuery.AutoComplete = function(selector){ var elt = $(selector); var strHtml = '<div class="AutoComplete" id="AutoComplete">'+ ' <ul class="AutoComplete_ul">'+ ' <li hz="@163.com"></li>'+ ' <li hz="@126.com"></li>'+ ' <li hz="@139.com"></li>'+ ' <li hz="@189.com"></li>'+ ' <li hz="@qq.com"></li>'+ ' <li hz="@vip.sina.com"></li>'+ ' <li hz="@sina.cn"></li>'+ ' <li hz="@sina.com"></li>'+ ' <li hz="@sohu.com"></li>'+ ' <li hz="@hotmail.com"></li>'+ ' <li hz="@gmail.com"></li>'+ ' <li hz="@wo.com.cn"></li>'+ ' <li hz="@21cn.com"></li>'+ ' <li hz="@aliyun.com"></li>'+ ' <li hz="@yahoo.com"></li>'+ ' <li hz="@foxmail.com"></li>'+ ' </ul>'+ ' </div>'; //將div追加到body上 $('body').append(strHtml); var autoComplete,autoLi; autoComplete = $('#AutoComplete'); autoComplete.data('elt',elt); autoLi = autoComplete.find('li'); autoLi.mouseover(function(){ $(this).siblings().filter('.hover').removeClass('hover'); $(this).addClass('hover'); }).mouseout(function(){ $(this).removeClass('hover'); }).mousedown(function(){ autoComplete.data('elt').val($(this).text()).change(); autoComplete.hide(); }); //用戶名補(bǔ)全+翻動 elt.keyup(function(e){ if(/13|38|40|116/.test(e.keyCode) || this.value==''){ return false; } var username = this.value; if(username.indexOf('@')==-1){ autoComplete.hide(); return false; } autoLi.each(function(){ this.innerHTML = username.replace(/\@+.*/,'')+$(this).attr('hz'); if(this.innerHTML.indexOf(username)>=0){ $(this).show(); }else{ $(this).hide(); } }).filter('.hover').removeClass('hover'); autoComplete.show().css({ left : $(this).offset().left, top : $(this).offset().top + $(this).outerHeight(true) - 1, position: 'absolute', zIndex: '99999' }); if(autoLi.filter(':visible').length==0){ autoComplete.hide(); }else{ autoLi.filter(':visible').eq(0).addClass('hover'); } }).keydown(function(e){ if(e.keyCode==38){ //上 autoLi.filter('.hover').prev().not('.AutoComplete_title').addClass('hover').next().removeClass('hover'); }else if(e.keyCode==40){ //下 autoLi.filter('.hover').next().addClass('hover').prev().removeClass('hover'); }else if(e.keyCode==13){ //確定 autoLi.filter('.hover').mousedown(); } }).focus(function(){ autoComplete.data('elt',$(this)); }).blur(function(){ autoComplete.hide(); }); };
CSS代碼:css/emailAutoComple.css
#AutoComplete{background:#fff;border:1px solid #4190db;display:none;width:150px;} #AutoComplete ul{list-style-type:none;margin:0;padding:0;} #AutoComplete li{color:#333;cursor:pointer;font:12px/22px \5b8b\4f53;text-indent:5px;} #AutoComplete .hover{background:#6eb6fe;color:#fff;}
效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java實(shí)現(xiàn)郵箱找回密碼實(shí)例代碼
- 如何驗(yàn)證會員系統(tǒng)中用戶的郵箱是否真實(shí)存在
- 在js中實(shí)現(xiàn)郵箱格式的驗(yàn)證方法(推薦)
- jQuery驗(yàn)證手機(jī)號郵箱身份證的正則表達(dá)式(含港澳臺)
- jQuery實(shí)現(xiàn)郵箱下拉列表自動補(bǔ)全功能
- 微信小程序-詳解微信登陸、微信支付、模板消息
- JavaWeb登陸功能實(shí)現(xiàn)代碼
- php實(shí)現(xiàn)登陸模塊功能示例
- 用AJAX實(shí)現(xiàn)頁面登陸以及注冊用戶名驗(yàn)證的簡單實(shí)例
- js表單登陸驗(yàn)證示例
- 根據(jù)輸入郵箱號跳轉(zhuǎn)到相應(yīng)登錄地址的解決方法
相關(guān)文章
原生Ajax 和jQuery Ajax的區(qū)別示例分析
這篇文章主要介紹了原生Ajax 和Jq Ajax的區(qū)別示例分析,需要的朋友可以參考下2014-12-12jQuery插件form-validation-engine正則表達(dá)式操作示例
這篇文章主要介紹了jQuery插件form-validation-engine正則表達(dá)式操作,結(jié)合實(shí)例形式分析了jQuery插件form-validation-engine進(jìn)行正則驗(yàn)證操作的相關(guān)技巧,需要的朋友可以參考下2017-02-02Jquery ajaxStart()與ajaxStop()方法(實(shí)例講解)
本篇文章主要是對Jquery中的ajaxStart()與ajaxStop()方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12JQuery的自定義事件代碼,觸發(fā),綁定簡單實(shí)例
下面的代碼是所有它自己的自定義事件觸發(fā)。你可以綁定到這個(gè)自定義事件,并提高它時(shí),你要執(zhí)行的代碼里面綁定。2013-08-08jQuery刪除/清空指定元素的所有子節(jié)點(diǎn)實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于jQuery刪除/清空指定元素的所有子節(jié)點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用jQuery具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07基于jQuery實(shí)現(xiàn)動態(tài)數(shù)字展示效果
Jq數(shù)據(jù)列表動態(tài)效果,動態(tài)更新,支持Ajax動態(tài)刷新。下面小編給大家介紹下基于jQuery實(shí)現(xiàn)動態(tài)數(shù)字展示效果,需要的朋友可以參考下2015-08-08jQuery學(xué)習(xí)筆記之控制頁面實(shí)現(xiàn)代碼
每一段jQuery對應(yīng)一段html代碼,以標(biāo)記為準(zhǔn)則,css為共用代碼,每段代碼需獨(dú)立運(yùn)行。html和css代碼在文章尾部,如下例2012-02-02