如题,在Google或者淘宝这些网站,在你搜索的时候,当你还没输入完毕的时候,就会在下面弹出一些类似的搜索关键词。
这种技术应该是用Ajax做的吧??请问哪位人兄有类似的代码呀,有的话分享分享!!!
这种技术应该是用Ajax做的吧??请问哪位人兄有类似的代码呀,有的话分享分享!!!
解决方案 »
- 问个 SQL 语句 数据库问题。。。 在线等 。。
- GDO+中出现一般性错误
- 求一句SQL 的语句··希望大虾能帮下忙···
- Sql 高手指点?急!!!!!!!
- 学到了什么才算技术大牛
- 100分!如何将这两个asp函数改写为asp.net(vb.net)?
- 关于企业库----Logging模块------日志存数据库
- Web项目名称更改的问题,请指点.
- 请教各位高手:MS .NET2003安装的问题
- 求文本框字符串过滤函数。分不够我再加。
- 有没有人知道VS05里的新建WebApplication在哪里呀??怎么只有新建网站? [在线等]
- Scott ToDoList (ajax.net)的程序 输入中文显示问号该如何解决
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();
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;//有处理页面返回的XML
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 NetWork 051</span><span class='suggestSpan'>关闭</span></li></ul><div style='clear:both;'></div>";
moneyMsg.innerHTML = opn;
var obj=document.getElementById("tbSearch");//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;
suggestHidden();
}function findPos(obj)//ff中定位显示div
{
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://download.csdn.net/source/358083