微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax实例教程:模拟google动态提示效果

  建站学院(LieHuo.Net)Ajax教程 实现方式很简单,步骤如下:点击文本框内后,获得文本框的x,y;输入内容后,延迟1-2秒将请求发送至服务器端;.服务器端查询后,返回给客户端;客户端显示DIV,并根据1获得的xy定位DIV的位置,将返回的内容填充至DIV内。
  代码步骤如下:

以下为引用的内容
<input id=Text1 style=width: 300px; height: 21px; type=text  onkeyup=getA(); onclick=getxy(this);/> 
        <input id=Text1 style=width: 300px; height: 21px; type=text  onkeyup=getA(); onclick=getxy(this);/>

以下为引用的内容
//getxy()代码,为将要显示的div确定位置 
Function getxy()//getxy()代码,为将要显示的div确定位置
{  
    x=e.offsetTop;  
   y=e.offsetLeft;  
  while(ee=e.offsetParent)  
  {  
   x+=e.offsetTop;  
y+=e.offsetLeft;  
  }  
}//用户输入后,延迟1-2秒提交即可,以免造成服务器端负载.
function getQList()  
{  
  var time=new Date().getTime();  
  var val=document.getElementById(Text1).value;  
  if(val!=null || val!= || val.length!=0)  
   {  
  var send=action=get1&time=+time+&val=+val;  
  myRequest(../Temp.aspx,send,getQListhandle);  
 }  
}
//处理函数,创建表格,填充到div中,代码中的changeColor()是用于鼠标移动后改变颜色的.
 function getQListhandle()  
{  
 var getXML=null;  
 if(req.readyState==4)  
  {  
    if(req.status==200)  
       {  
        getXML=req.responseXML;  
        var innerHTML=null;  
          var newslist = getXML.getElementsByTagName(news);  
          if((newslist!=null)&&(newslist.length!=0))  
             {  
              innerHTML = <table style=font-size: 9pt;width:100% cellpadding=0 cellspacing=0 border=0>;  
                  for(var i=0;i<newslist.length;i++)  
                {  
                    var news = newslist[i];  
                   var id = (news.childNodes[0].firstChild==null)?:news.childNodes[0].firstChild.data;  
                   var caption = (news.childNodes[1].firstChild==null)?:news.childNodes[1].firstChild.data;  
                   innerHTML += <tr onmouSEOver=changecolor1(this); onmouSEOut=changecolor2(this);>;  
                   innerHTML += <td  height='25'  style=cursor:hand onclick=look2('+id+');>+caption+</td>;  
                  innerHTML += </tr>;  
                }  
               innerHTML += </table>;  
               }  
              else  
                {  
                    //innerHTML += 暂时没有数据;  
                document.getElementById(list).innerHTML=;  
                 document.getElementById(list).style.display=none;  
                }  
                setLocal();//注意,此处定位Div的位置   
         }  
      }  
}
//(3)定位div,让div显示在文本框的下方,宽度等于文本框的宽度
function setLocal()  
{   
   var list=document.getElementById(list);  
   list.style.top=x+21;  
  list.style.left=y;  
}
//服务器端代码不再赘述.基本原理就是这样实现.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐