• 邮箱自动补全功能


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>邮箱自动补全</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
        <script type="text/javascript">
           $(function(){
            $.AutoComplete("#email");   //(要补全文本框的id)
           });
        </script>
        <style>
        #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 5b8b4f53;text-indent:5px;}
         #AutoComplete .hover{background:#6eb6fe;color:#fff;}</style>
      </head>
      
      <body>
        <form action="">
           姓名:<input type="text" name="userName" id="userName"/><br/>
           邮箱:<input type="text" name="email" id="email"/>
        </form>
        <script>
        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();
        });
        //用户名补全+翻动
        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();
        });
    };
        </script>
      </body>
    </html>
  • 相关阅读:
    Android游戏开发22:Android动画的实现J2me游戏类库用于Android开发
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第三部分,完整代码)
    使用OGR创建dxf格式矢量数据
    mysql 数据库引擎 MyISAM InnoDB 大比拼 区别
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第二部分)
    mysql 更改数据库引擎
    android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第一部分)
    android 数字键盘使用
    MySQL Innodb数据库性能实践
    eclipse : Error while performing database login with the driver null
  • 原文地址:https://www.cnblogs.com/liyuhuan/p/6101440.html
Copyright © 2020-2023  润新知