国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現的郵箱提示補全效果示例

2019-11-19 14:27:17
字體:
來源:轉載
供稿:網友

本文實例講述了JS實現的郵箱提示補全效果。分享給大家供大家參考,具體如下:

現在要實現的是類似網易登錄時的郵箱提示框的效果,不過這里我打算稍微改變一下,就是在輸入@的時候再出現郵箱提示列表

實現提示的原理是采用正則進行匹配

效果圖如下:

代碼如下:

<!doctype html><html><head>  <meta charset="utf-8" />  <title>郵箱補全提示</title>  <style>    ul{padding:0px;margin:0px;}    .login_autoComplete{width:256px;border:1px solid #4190db;position:absolute;background-color:#ffffff;z-index:99;top:109px;left:40px;display:none}    .login_auto_ul em{font-style:normal}    .login_auto_ul li.login_auto_title{font-weight:normal;line-height:30px;}    .login_auto_ul li{line-height:22px;text-indent:5px;font-family:"Arial";cursor:pointer;font-weight:bold;color:#333}    .login_auto_ul li.hover,.login_auto_ul li.curr{color:#ffffff;background-color:#6eb6fe}  </style>  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>  <script>    window.email_auto = function(selector){      var elt = $(selector);      var strHtml = '<div class="login_autoComplete" id="login_autoComplete">'+            '    <ul class="login_auto_ul">'+            '      <li class="login_auto_title">請選擇郵箱后綴</li>'+            '      <li class="hover" hz="@qq.com"></li>'+            '      <li hz="@163.com"></li>'+            '      <li hz="@126.com"></li>'+            '      <li hz="@yahoo.com"></li>'+            '      <li hz="@sina.com"></li>'+            '      <li hz="@21cn.com"></li>'+            '    </ul>'+            '  </div>';      var lc = "#login_autoComplete";      var autoComplete,autoLi;      if($(lc).length==0){        $("body").append(strHtml);        $(lc).data("elt",elt);        autoComplete = $("#login_autoComplete");        autoLi = autoComplete.find("li:not(.login_auto_title)");        autoLi.mouseover(function(){          $(this).siblings().filter(".hover").removeClass("hover");          $(this).addClass("hover");        }).mouseout(function(){          $(this).removeClass("hover");        }).mousedown(function(){          $(lc).data("elt").val($(this).text()).change();          $(this).parent().parent().hide();        });      }else{        $(lc).data("elt",elt);        autoComplete = $("#login_autoComplete");        autoLi = autoComplete.find("li:not(.login_auto_title)");      }      $(lc).css("width",elt.outerWidth()-1);      //用戶名補全+翻動      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        });        if(autoLi.filter(":visible").length==0){          autoComplete.hide();        }else{          autoLi.filter(":visible").eq(0).addClass("hover");        }      }).change(function(){        $("#login_autoComplete").hide();      }).keydown(function(e){        if(e.keyCode==38){ //上          autoLi.filter(".hover").prev().not(".login_auto_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){ //Enter          autoLi.filter(".hover").mousedown();        }      }).focus(function(){        $("#login_autoComplete").data("elt",$(this));      });    }    $(function(){      email_auto("#xxx");    });  </script></head><body>武林網測試:郵箱補全提示<br/><input type="text" id="xxx" style="width:300px"/></body></html>

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.VeVB.COm/regex/javascript

正則表達式在線生成工具:
http://tools.VeVB.COm/regex/create_reg

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript正則表達式技巧大全》、《JavaScript替換操作技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript中json操作技巧總結》、《JavaScript錯誤與調試技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保靖县| 梁河县| 云梦县| 黄大仙区| 朝阳县| 齐齐哈尔市| 张家港市| 无极县| 通榆县| 綦江县| 疏勒县| 丹阳市| 余姚市| 嘉义县| 大丰市| 城口县| 滁州市| 舒城县| 莎车县| 儋州市| 博罗县| 平阴县| 姚安县| 平原县| 锡林浩特市| 雷州市| 西城区| 梓潼县| 兰坪| 额尔古纳市| 东乡| 盐津县| 若羌县| 和田县| 同仁县| 类乌齐县| 临澧县| 怀远县| 文水县| 襄汾县| 平阴县|