如题

解决方案 »

  1.   

    //suggest.js
    --------------------------------------
        var browserType=0;
        var xmlHttp;
        var xmlDoc;
        function createXMLHttpRequest()
        {
            if(window.ActiveXObject)
            {
                browserType=1;
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if(window.XMLHttpRequest)
            {
                xmlHttp = new XMLHttpRequest();
            }
        }
       
        function suggest(e)
        {
            var key=e.value;
            var keyword= document.getElementById("tbSearch").value;//获取查询条件
            selectObject = e;
           
            if(key)
            {
               
                var patrn=/^[^ <,>,?,",:,;]*$/; //验证输入的内容是否合法
                if (!patrn.exec(key))
                {
                  alert("不能输入非法字符!") ;
                  e.value="";//清空输入的内容
                  return;
                }
                createXMLHttpRequest();
                //search.ashx处理页面 返回XML
                var url= "search.ashx?keyword="+encodeURIComponent(keyword)+"&rnd="+Math.random();
                xmlHttp.open("GET",url,true);
                xmlHttp.onreadystatechange=showResult;
                xmlHttp.send(null);
            }
        }
       
        function showResult()
        {
            if(xmlHttp.readyState==4)
            {
                if(xmlHttp.status==200)
                {
                    xmlDoc = xmlHttp.responseXML;
                  suggestShow(selectObject);
                }
            }
        }
        //显示信息
        function suggestShow(e)
        {
         
            var moneyMsg = document.getElementById("suggest");
            var opn = " <ul class='suggestul'>";
            var records = xmlDoc.getElementsByTagName("record").length;
            if(records>0)
            {
                for ( i = 0; i < records; i++)
                {
                    opn += " <li class='suggestulli' onmouseover='this.style.backgroundColor=\"#c7dffa\";' onmouseout='this.style.backgroundColor=\"#FFFFFF\";' onclick='selectSuggest(this);'> <span>";
                    opn += xmlDoc.getElementsByTagName("word")[i].firstChild.data;
                    opn += " </span> <span class='suggestSpan'>" + xmlDoc.getElementsByTagName("wordSpell")[i].firstChild.data + " </span> </li>";       
                }
                opn += " <li class='suggestulli' onclick='suggestHidden();'> <span> Desgin By Feiin </span> <span class='suggestSpan'>关闭 </span> </li> </ul> <div style='clear:both;'> </div>";
               
                moneyMsg.innerHTML = opn;
               
                var obj=document.getElementById("tbSearch");
                if (browserType==1)
                {
                                 
                      var x  = e.getBoundingClientRect().top;
                      var y = e.getBoundingClientRect().left;
                        document.getElementById("suggest").style.top= x+20+document.body.scrollTop+"px";
                        document.getElementById("suggest").style.left=y+document.body.scrollLeft+"px";
                  }
                  else
                  {                    var menu_leve2_content = findPos(e);
                        document.getElementById("suggest").style.top=menu_leve2_content[1]+18+"px";
                        document.getElementById("suggest").style.left=menu_leve2_content[0]+"px";
                  }
                document.getElementById("suggest").style.display = "block"; //显示信息
            }
            else
            {
                document.getElementById("suggest").style.display = "none";//显示信息
            }
        }
       
        function suggestHidden()
        {
              document.getElementById("suggest").style.display = "none"; //隐藏信息
        }
       
        function selectSuggest(obj)
        {
            var selectObj;
            if(browserType==1)
            {
              selectObj=obj.getElementsByTagName("span")[0].innerText;
               
            }
            else
            {
              selectObj=obj.getElementsByTagName("span")[0].textContent;
            }
            document.getElementById("tbSearch").value=selectObj;//tbSearch搜索栏TextBox
            suggestHidden();
        }function findPos(obj)
    {
          var curleft = curtop = 0;
          if (obj.offsetParent)
          {
                curleft = obj.offsetLeft
                curtop = obj.offsetTop
                while (obj = obj.offsetParent)
                {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
            }
          }
          return [curleft,curtop];

    http://topic.csdn.net/u/20080628/16/3868feb2-99c6-44cf-bba6-6832e2e4d730.html