ajax 模拟google动态提示效果
2009-10-21 17:08
381 查看
实现方式很简单,步骤如下:
点击文本框内后,获得文本框的x,y;
输入内容后,延迟1-2秒将请求发送至服务器端;
服务器端查询后,返回给客户端;
客户端显示DIV,并根据1获得的xy定位DIV的位置,将返回的内容填充至DIV内。
代码步骤如下:
以下为引用的内容: <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/">/r/n";
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>/r/n";
}
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;
}
//服务器端代码不再赘述.基本原理就是这样实现.
相关文章推荐
- ajax学习笔记之五 模拟google动态提示效果
- 使用jQuery模拟Google的自动提示效果
- 实现类似google搜索效果,文本框输入智能提示,没有用ajax控件和第三方控件,完全手写代码
- 带着实例继续学习(5):模拟搜索框动态提示效果之计算属性
- Ajax加载提示动态效果资源
- jquery+ajaxpro实现google输入提示效果(含拼音匹配)
- AJAX的下拉查询,效果跟google的搜索提示类似
- Ajax AutoComplete for jQuery(类似google,baidu的提示功能)
- ASP+AJAX做类似google的搜索提示
- JS 动态创建上传表单,通过iframe模拟Ajax 无刷新
- Ajax实现模拟关键字智能匹配搜索效果
- AyncTask 实战 模拟GridView 动态更新效果
- 用AJAX实现google输入自动完成的简单模拟
- 用ajax自己写仿 google search suggest的搜索提示
- ajax效果模拟——隐藏的iframe无刷新效果
- ajax--iframe模拟ajax文件上传效果
- Ajax+js+dom+json+php+mysql实现仿百度、google超强分页效果
- 34.6.1 Excel数据有效性的高级应用【动态二级级联菜单/如百度输入框Ajax效果的下拉菜单/圈出无效数据】
- 爬虫知识点(ajax异步加载,JavaScript 动态刷新,phantomjs + selenium模拟登陆)
- AJAX 弹出提示信息框效果