仿baidu自动提示文本框

仿baidu自动提示文本框<!DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0Transitional//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”><htmlxmlns=”http://www.w3.org/1999/xhtml”><metahttp-equiv=”Con…

仿baidu自动提示文本框

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml“>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
</head>
<script language=”javascript”>
var intIndex=0;arrList = new Array();
function dearray(aa)//定义array
{

    //document.write(aa);
    arrList = aa.split(‘,’);
    intIndex = arrList.length;
}
function test() {

    init();
    dearray(“asp,csdn,aaaa,bbbbc,afd,werwe,adfs,ertr,qwq,qwqwq,trt,uyus,dsfs,uere,add,234,2,1dr4,ae4564,adf4645,afa3543,sdfse5,ae345345,sdf4564,34346536”);
    smanPromptList(arrList,”aspx”);
    dearray(“1sdfsdf.com,a11sdafs.net,b22dsafsdf,c333asdfsadf,4444dsafasdf,dddsfddsafdsaf,121213dsafsdaf,43213asdfadsf,dsa3121dasf3,a213,323313,3213,32213,dsfsdddd,ds11dfsfd,ffdafd,afdfd,afd,baffad,2fda2fd,dasd”);
    smanPromptList(arrList,”aspx2″);
    smanPromptList(arrList,”inputer”)
}
function init() {

if (arrList.constructor!=Array){alert(‘smanPromptList初始化失败:第一个参数非数组!’);return ;}
    arrList.sort( function(a, b) {

    if(a.length>b.length)return 1;
    else if(a.length==b.length)return a.localeCompare(b);
    else return -1;
        }
    ); 
}
function smanPromptList(arrList,objInputId){

        var objouter=document.getElementById(“__smanDisp”) //显示的DIV对象
        var objInput = document.getElementById(objInputId); //文本框对象
        var selectedIndex=-1;
        var intTmp; //循环用的:)
        if (objInput==null) {alert(‘smanPromptList初始化失败:没有找到”‘+objInputId+'”文本框’);return ;}
            //文本框失去焦点
            objInput.οnblur=function(){

                objouter.style.display=’none’;
            }
            //文本框按键抬起
            objInput.οnkeyup=checkKeyCode;
            //文本框得到焦点
            objInput.οnfοcus=checkAndShow;
            function checkKeyCode(evt){

    evt = evt || window.event;
                var ie = (document.all)? true:false
                if (ie){

                    var keyCode=evt.keyCode
                    if (keyCode==40||keyCode==38){ //下上
                        var isUp=false
                        if(keyCode==40) isUp=true ;
                        chageSelection(isUp)
                    }else if (keyCode==13){//回车
                        outSelection(selectedIndex);
                    }else{

                        checkAndShow(evt)
                    }
                }else{

                    checkAndShow(evt)
                }
                divPosition(evt)
            }
            function checkAndShow(evt){

                        var strInput = objInput.value
                        if (strInput!=””){

                            divPosition(evt);
                            selectedIndex=-1;
                            objouter.innerHTML =””;
                            for (intTmp=0;intTmp<arrList.length;intTmp++){

                                if (arrList[intTmp].substr(0, strInput.length)==strInput){

                                    addOption(arrList[intTmp]);
                                }
                            }
                            objouter.style.display=”;
                        }else{

                            objouter.style.display=’none’;
                    }
                    function addOption(value){

                        objouter.innerHTML +=”<div οnmοuseοver=\”this.className=’sman_selectedStyle’\” οnmοuseοut=\”this.className=”\” οnmοusedοwn=\”document.getElementById(‘”+objInputId+”‘).value='” + value + “‘\”>” + value + “</div>”    
                    }
            }
            function chageSelection(isUp){

                if (objouter.style.display==’none’){

                    objouter.style.display=”;
                }else{

                    if (isUp)
                        selectedIndex++
                    else
                        selectedIndex–
                }
                var maxIndex = objouter.children.length-1;
                if (selectedIndex<0){selectedIndex=0}
                if (selectedIndex>maxIndex) {selectedIndex=maxIndex}
                for (intTmp=0;intTmp<=maxIndex;intTmp++){

                    if (intTmp==selectedIndex){

                        objouter.children[intTmp].className=”sman_selectedStyle”;
                    }else{

                        objouter.children[intTmp].className=””;
                    }
                }
            }
            function outSelection(Index){

                objInput.value = objouter.children[Index].innerText;
                objouter.style.display=’none’;
            }
            function divPosition(evt){

                var left = 0;
            var top = 0;
var e = objInput;
            while (e.offsetParent){

            left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
           top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
          e     = e.offsetParent;
           }
          left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
          top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);

                objouter.style.top    = (top + objInput.clientHeight) + ‘px’ ;
                objouter.style.left    = left + ‘px’ ; 
                objouter.style.width= objInput.clientWidth;
            }
    }
    document.write(“<div id=’__smanDisp’ style=’position:absolute;display:none;background:#E8F7EB;border: 1px solid #CCCCCC;font-size:14px;cursor: default;’ onbulr> </div>”);
    document.write(“<style>.sman_selectedStyle{background-Color:#102681;color:#FFFFFF}</style>”);
    function getAbsoluteHeight(ob){

        return ob.offsetHeight
    }
    function getAbsoluteWidth(ob){

        return ob.offsetWidth
    }
    function getAbsoluteLeft(ob){

        var mendingLeft = ob .offsetLeft;
        while( ob != null && ob.offsetParent != null && ob.offsetParent.tagName != “BODY” ){

            mendingLeft += ob .offsetParent.offsetLeft;
            mendingOb = ob.offsetParent;
        }
        return mendingLeft ;
    }
    function getAbsoluteTop(ob){

        var mendingTop = ob.offsetTop;
        while( ob != null && ob.offsetParent != null && ob.offsetParent.tagName != “BODY” ){

            mendingTop += ob .offsetParent.offsetTop;
            ob = ob .offsetParent;
        }
        return mendingTop ;
    }
Number.prototype.NaN0 = function()
{

    return isNaN(this)?0:this;
}
</script>
<body onLoad=”test()”>
下拉提示跟着 MOuse 走的。。想把他改成在文本框下出来的那种怎么改
<input type=”text” id=”aspx”><br/>
<input type=”text” id=”aspx2″>
<table width=”970″ border=”0″ align=”center”>
<tr>
    <td><table width=”100%” border=”0″ align=”center”>
      <tr>
        <td align=”center” valign=”middle”> </td>
      </tr>
    </table>
        <table border=”1″ align=”center” 
cellspacing=”1″ bordercolor=”#9CD7FF” id=”table1″ style=”BORDER-COLLAPSE: collapse” >
          <tr bgcolor=”#99CCFF”>
            <td bgcolor=”#CEE3FF”><font class=”text”>日期</font></td>
            <td bgcolor=”#FFFFFF”><input type=”text” id=”inputer”></td>
          </tr>
          <tr bgcolor=”#99CCFF”>
            <td bgcolor=”#CEE3FF”><font class=”text”>制造号码</font></td>
            <td bgcolor=”#FFFFFF”></td>
          </tr>
          <tr bgcolor=”#99CCFF”>
            <td height=”24″ bgcolor=”#CEE3FF”><font class=”text”>作业内容</font></td>
            <td height=”24″ bgcolor=”#FFFFFF”> </td>
          </tr>
        </table>
      <br /></td>
</tr>
</table>
</body></html>

转载于:https://www.cnblogs.com/hayada/archive/2010/08/11/1797439.html

今天的文章仿baidu自动提示文本框分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/29400.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注