最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實現(xiàn)的郵箱提示補全效果示例

 更新時間:2018年01月30日 14:53:59   作者:zhuolei123  
這篇文章主要介紹了JS實現(xiàn)的郵箱提示補全效果,涉及javascript正則匹配、事件響應(yīng)及頁面元素動態(tài)操作相關(guān)技巧,需要的朋友可以參考下

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

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

實現(xiàn)提示的原理是采用正則進(jìn)行匹配

效果圖如下:

代碼如下:

<!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款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript正則表達(dá)式技巧大全》、《JavaScript替換操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript中json操作技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)

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

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)上傳照片代碼實例解析

    微信小程序?qū)崿F(xiàn)上傳照片代碼實例解析

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)上傳照片代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Ionic2開發(fā)環(huán)境搭建教程

    Ionic2開發(fā)環(huán)境搭建教程

    這篇文章主要為大家詳細(xì)介紹了Ionic2開發(fā)環(huán)境的搭建教程,文中步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • js判斷一個元素是否為另一個元素的子元素的代碼

    js判斷一個元素是否為另一個元素的子元素的代碼

    用js判斷一個元素是否為另一個元素的子元素,再做一些效果的時候經(jīng)常用到,特別是和鼠標(biāo)事件相關(guān)的應(yīng)用中,比如一個浮層,在鼠標(biāo)操作浮層內(nèi)元素的時候浮層顯示,當(dāng)點擊浮層外的元素的時候隱藏浮層
    2012-03-03
  • Javascript實現(xiàn)漢字和拼音互轉(zhuǎn)的終極方案

    Javascript實現(xiàn)漢字和拼音互轉(zhuǎn)的終極方案

    網(wǎng)上關(guān)于JS實現(xiàn)漢字和拼音互轉(zhuǎn)的文章很多,但是比較雜亂,有的不支持多音字、不支持聲調(diào)或者字典文件太大,無法根據(jù)實際需要滿足需求。這篇文章給大家修正整理網(wǎng)上的幾種常見方法,文章結(jié)尾還附簡單的JS拼音輸入法,本文對大家具有一定的參考借鑒價值,下面一起看看吧。
    2016-10-10
  • JS如何修改數(shù)組對象的Key和指定的值

    JS如何修改數(shù)組對象的Key和指定的值

    這篇文章主要介紹了JS如何修改數(shù)組對象的Key和指定的值,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • LayUi中接口傳數(shù)據(jù)成功,表格不顯示數(shù)據(jù)的解決方法

    LayUi中接口傳數(shù)據(jù)成功,表格不顯示數(shù)據(jù)的解決方法

    今天小編就為大家分享一篇LayUi中接口傳數(shù)據(jù)成功,表格不顯示數(shù)據(jù)的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • js實現(xiàn)表單校驗功能

    js實現(xiàn)表單校驗功能

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)表單校驗功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • javascript實現(xiàn)京東登錄顯示隱藏密碼

    javascript實現(xiàn)京東登錄顯示隱藏密碼

    這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)京東登錄顯示隱藏密碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JavaScript的public、private和privileged模式

    JavaScript的public、private和privileged模式

    公共/私有變量和方法通過一個簡單的的例子,來展示如何使用JavaScript在類里面創(chuàng)建私有變量和方法
    2009-12-12
  • 樹結(jié)構(gòu)之JavaScript

    樹結(jié)構(gòu)之JavaScript

    本文主要介紹了JavaScript樹結(jié)構(gòu)的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論

留坝县| 临桂县| 铅山县| 旺苍县| 庆阳市| 千阳县| 屏东市| 新巴尔虎右旗| 昌吉市| 华亭县| 德格县| 阳信县| 漳州市| 梅河口市| 东港市| 疏勒县| 宜川县| 通江县| 昭平县| 黄梅县| 锡林郭勒盟| 大同县| 华坪县| 墨玉县| 瑞昌市| 鄂托克前旗| 宣汉县| 沁水县| 台山市| 阿拉尔市| 大厂| 洪泽县| 岳西县| 毕节市| 游戏| 石首市| 久治县| 霍山县| 吉首市| 城步| 广灵县|