`
xiaoyaolong
  • 浏览: 29078 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

Ajax自动补全(仿百度功能)

阅读更多
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>搜索</title>
<style type="text/css">
<!--
* {margin: 0px;padding: 0px;}
body {
text-align: center;
padding-top: 100px;
font-size: 12px;
}
table {margin: auto;}
#wd {width: 350px;}
div#s {position: relative;}
div#ss {position: absolute;width: 352px;visibility: hidden;left: 0px;top: 20px;}
div#ss ul {border: 1px solid #000000;text-align: left;}
div#ss li {
position: relative;
width: 100%;
background-color: #FFFFFF;
cursor: default;
line-height: 18px;
text-indent: 2px;
}
div#ss li.b {background-color: #6666FF;color: #FFFFFF;}
div#ss li.hov span {color: #99FFFF;}
div#ss li span {color: #009900;position: absolute;top: 0px;right: 2px;}
UL {list-style-type: none;}
-->
</style>
</head>

<script language="javascript">
function $(d){return document.getElementById(d);}
var IE=new Function('','if(navigator.appName.indexOf("Explorer")>=0)return true;if(navigator.appName.indexOf("Netscape")>=0)return false');
var sou = function ()
{
var shuru = $("wd");
var shuchu = $("ss");
var sxPress = false ;
var oldValue;
shuchu.onmouseover = function (e)
{
e||(e=window.event);
var eveSrc = (typeof e.target != "undefined")?e.target:e.srcElement;
eveSrc = eveSrc.tagName=="SPAN"?eveSrc.parentNode:eveSrc;
if(eveSrc.tagName=="LI")
{
var eveParent = eveSrc.parentNode;
for(i=0;i<eveParent.childNodes.length;i++)
eveParent.childNodes[i].className = "";
eveSrc.className="hov";
}
}//end onmouseover
function down(e)
{
e||(e=window.event);
var eveSrc = (typeof e.target != "undefined")?e.target:e.srcElement;
if(eveSrc.tagName=="LI"){
   if(eveSrc.parentNode.parentNode.id=="ss")
  {
    //shuru.value = eveSrc.firstChild.data;
    document.forms["form1"].submit();
return;
   }
}
if(eveSrc==shuru)return;
shuchu.style.visibility="hidden";
}//end down
document.onmousedown = down;
shuru.onkeydown = function (e)
{
   e||(e=window.event);
    switch(e.keyCode){
  case 40:
  if(shuchu.style.visibility=="hidden")return;
  sxPress = true;
  var ele = shuchu.firstChild.childNodes;
  var thisEle = new Object();
  for(i=0;i<ele.length;i++)
  if(ele[i].className=="hov")
  {thisEle = ele[i];break;}
  if(typeof thisEle.className=="undefined")
  {
  thisEle = ele[0];
  thisEle.className = "hov";
  shuru.value=thisEle.firstChild.data;
  return;
  }
  thisEle.className = "";
  if(thisEle==ele[ele.length-1]){shuru.value = oldValue; return;}
  shuru.value = thisEle.nextSibling.firstChild.data;
  thisEle.nextSibling.className = "hov";
      break;
 
  case 38:
  if(shuchu.style.visibility=="hidden")return;
  sxPress = true;
  var ele = shuchu.firstChild.childNodes;
  var thisEle = new Object();
  for(i=0;i<ele.length;i++)
  if(ele[i].className=="hov")
  {thisEle = ele[i];break;}
  if(typeof thisEle.className=="undefined")
  {
  thisEle = ele[ele.length-1];
  thisEle.className = "hov";
  shuru.value=thisEle.firstChild.data;
  return;
  }
  thisEle.className = "";
  if(thisEle==ele[0]){shuru.value = oldValue; return;}
  shuru.value = thisEle.previousSibling.firstChild.data;
  thisEle.previousSibling.className = "hov";
  break;
 
  default:
  if(!IE())
  change();
  sxPress = false;
  break;
}
}//end onkeyup
if(IE())shuru.onpropertychange = change;
function change ()//生成相关搜索
{
  if(!sxPress)oldValue = shuru.value;
  else return;
  if(shuru.value!=""){//这里胡乱生成的相关搜索;
      var str = "";
  for(i=0;i<10;i++)
  {
  str +="<li>" +shuru.value+i+"<span>"+Math.floor(Math.random()*1000)+"个搜索结果</span></li>";
  }
  shuchu.style.visibility = "visible";
  shuchu.innerHTML = "<ul>"+str+"</ul>";
  }else{
  shuchu.style.visibility = "hidden";
  }
}//end change
}
window.onload = function ()
{sou();}
</script>

<body>
<p><img src="http://www.baidu.com/img/logo.gif" /></p>
<p>&nbsp;</p>
<form id="form1" name="form1" method="get" action="http://www.baidu.com/s">
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="330">
在这里输入试试,支持键盘上下键选择
   <div id="s">
      <input name="wd" type="text" id="wd" size="50" maxlength="30" autocomplete="off" />
      <div id="ss">
  </div> </div>
    </td>
    <td width="170">&nbsp;<input type="submit" name="Submit" value="百度一下" /></td>
  </tr>
</table>
</form>
</body>
</html>
分享到:
评论

相关推荐

    ajax自动补全 类似于google百度的搜索引擎

    在实现类似Google和百度的搜索引擎功能时,Ajax自动补全发挥着至关重要的作用。它提供了用户友好的交互体验,让用户在输入搜索关键词时能够实时看到建议的搜索项,极大地提高了搜索效率。 **一、Ajax基础** 1. **...

    ajax文本框自动补全功能

    在这个场景下,"ajax文本框自动补全功能"是一个常见且实用的设计,它极大地提升了用户体验,尤其是在输入搜索关键词或者填写表单时。这种功能类似于百度搜索引擎的自动索引功能,用户在输入框中输入文字时,系统会...

    Ajax实现自动补全和搜索功能

    在Web开发中,Ajax常用于实现动态交互效果,比如自动补全和搜索功能,这可以显著提升用户体验,使得用户无需等待页面刷新就能看到即时反馈。 自动补全,也称为自动完成,是用户在输入框中键入内容时,系统根据已有...

    Ajax自动补全效果实例

    Ajax(Asynchronous JavaScript ...通过研究这些文件,你可以更深入地了解Ajax自动补全功能的实现细节,从而在自己的项目中应用这一技术。记住,实践是检验真理的唯一标准,动手操作并调试代码是掌握这一技术的关键。

    改进版 jquery 仿百度谷歌自动补全输入(支持中文)

    标题“改进版 jquery 仿百度谷歌自动补全输入(支持中文)”涉及到的是一个基于jQuery的前端开发技术,旨在实现类似百度和谷歌搜索框的自动补全功能,而且这一版本特别优化了对中文字符的支持。在网页交互设计中,...

    自动补全(仿百度搜索下拉框)

    本示例以“仿百度搜索下拉框”为主题,探讨如何实现一个自动补全的功能,它能够在用户输入时根据已输入的部分文字,预测并显示可能的完整词汇或短语,提高用户输入效率。 自动补全的核心在于实时性和准确性,它涉及...

    jQuery仿百度搜索下拉框自动补全代码插件

    本插件就是基于jQuery实现的一个仿百度搜索的下拉框自动补全功能。 首先,我们需要理解jQuery的核心概念。jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax交互。通过使用jQuery...

    自动补全 | 像百度那样的自动提示功能

    综上所述,构建一个像百度那样的自动补全功能,需要结合.NET框架、数据库操作、前端技术以及性能优化策略,以提供高效、流畅的用户体验。具体实现时,要根据实际项目需求,灵活运用各种技术和工具,确保系统的稳定性...

    Ajax实现类似baidu的自动补全

    综上所述,实现Ajax自动补全功能主要涉及以下步骤: 1. 创建HTML界面,包含输入框和补全建议展示区。 2. 使用JavaScript(如jQuery)监听输入框的输入事件,并在用户停止键入一段时间后发送Ajax请求。 3. 服务器端...

    jQuery百度搜索自动补全插件.zip

    jQuery百度搜索自动补全插件基于流行的JavaScript库jQuery和typeahead.js实现,为网页上的搜索框提供了高效且用户友好的自动补全功能。这个插件主要用于提升用户体验,尤其是在需要处理大量数据并希望用户能快速找到...

    利用ajax做类似于百度的自动补全

    本文将详细介绍如何利用Ajax技术实现一个类似于百度搜索的自动补全功能。 Ajax,即Asynchronous JavaScript and XML(异步JavaScript和XML),是一种创建动态网页的技术,允许在不重新加载整个页面的情况下与服务器...

    servlet+jsp实现百度搜索自动补全功能

    具体到压缩包中的`ajaxSelect`,这可能是一个用于实现Ajax自动补全功能的JSP组件或者示例代码。它可能包含一个JSP页面作为前端展示,以及一个Servlet类来处理后台的逻辑。在实际应用中,你可以根据项目需求对这个...

    网页设计作业,自动补全(仿百度搜索框)

    在完成上述步骤后,一个仿百度搜索框的自动补全功能就基本实现了。这个功能不仅可以应用于搜索引擎,还可以应用于电商网站的商品搜索、社交媒体的用户名查找、代码编辑器的函数提示等多种场景,是网页设计中不可或缺...

    AJAX仿百度输入自动补全源码,下拉框提示源码

    【标题】"AJAX仿百度输入自动补全源码,下拉框提示源码" 描述了一种使用AJAX技术来实现类似百度搜索框的自动补全功能的应用。这种技术通常用于提高用户输入效率,通过实时获取服务器端数据并在用户输入时动态显示建议...

    jQuery仿百度搜索下拉框自动补全代码插件.zip

    总结,jQuery仿百度搜索下拉框自动补全代码插件typeahead.js,以其高效、灵活的特点,成为了网页开发中实现搜索功能智能化的得力工具。通过理解其工作原理和应用场景,开发者可以轻松创建出符合用户需求的智能搜索框...

    jsonp 调用百度实现自动补全

    在这个案例中,“jsonp调用百度实现自动补全”指的是利用JSONP技术来实现对百度搜索框自动补全功能的模拟调用。 首先,我们要理解什么是Ajax。Ajax是"Asynchronous JavaScript and XML"的缩写,虽然XML在现代Web...

    jQuery自动补全自动提示插件仿百度自动提示插件

    **jQuery自动补全插件详解:仿百度自动提示功能** 在网页开发中,为了提高用户体验,经常需要实现一种类似于搜索引擎的自动补全功能,让用户在输入框中输入内容时能够实时得到相关的建议或提示。jQuery作为一款广泛...

    Ajax-Django-sqlite3-搜索自动补全的功能

    本项目“Ajax-Django-sqlite3-搜索自动补全的功能”旨在模拟百度搜索引擎的自动补全特性,利用Ajax、Django框架和sqlite3数据库来实现这一目标。下面我们将深入探讨这个项目涉及的技术点和实现步骤。 首先,Ajax...

    asp.net+Ajax实现自动补齐

    在本教程中,我们将探讨如何利用ASP.NET与Ajax Toolkit来实现输入框的自动补全功能,这个功能类似于百度和谷歌搜索中的输入提示。 Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下更新部分...

    java 实现百度搜索框自动补全

    Java 实现百度搜索框自动补全是一个常见的前端与后端交互功能,主要用于提高用户体验,它在用户输入关键字时提供相关的建议列表。这个源码演示了如何利用Ajax技术结合MySQL数据库来实现这一功能。 首先,我们要理解...

Global site tag (gtag.js) - Google Analytics