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

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

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

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

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

實現(xià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款非常方便的正則表達式工具供大家參考使用:

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

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

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

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

相關文章

  • 微信小程序實現(xiàn)上傳照片代碼實例解析

    微信小程序實現(xiàn)上傳照片代碼實例解析

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

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

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

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

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

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

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

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

    這篇文章主要介紹了JS如何修改數(shù)組對象的Key和指定的值,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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)表單校驗功能

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

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

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

    JavaScript的public、private和privileged模式

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

    樹結構之JavaScript

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

最新評論

台南县| 鹤峰县| 汽车| 天台县| 通化市| 青川县| 贺兰县| 勃利县| 甘洛县| 申扎县| 禄劝| 姜堰市| 克山县| 新干县| 平潭县| 东港市| 东乡县| 手游| 乌兰察布市| 盐亭县| 于田县| 葵青区| 罗田县| 高州市| 永川市| 东兰县| 柘荣县| 滦平县| 长沙县| 德清县| 封丘县| 辰溪县| 宁国市| 浪卡子县| 光泽县| 富民县| 屯门区| 莒南县| 定襄县| 丰顺县| 兴和县|