<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">
var intIndex=0;arrList = new Array();
arrList[intIndex++] = "1sdfsdf.com";
arrList[intIndex++] = "a11sdafs.net";
arrList[intIndex++] = "b22dsafsdf";
arrList[intIndex++] = "c333asdfsadf";
arrList[intIndex++] = "4444dsafasdf";
arrList[intIndex++] = "我sfddsafdsaf";
arrList[intIndex++] = "121213dsafsdaf";
arrList[intIndex++] = "大43213asdfadsf";
arrList[intIndex++] = "大dsa3121dasf3";
arrList[intIndex++] = "大a213";
arrList[intIndex++] = "323313";
arrList[intIndex++] = "3213";
arrList[intIndex++] = "32213";
arrList[intIndex++] = "dsfsdddd";
arrList[intIndex++] = "ds11dfsfd";
arrList[intIndex++] = "ffdafd";
arrList[intIndex++] = "afdfd";
arrList[intIndex++] = "afd";
arrList[intIndex++] = "baffad";
arrList[intIndex++] = "2fda2fd";
arrList[intIndex++] = "dasd";
function smanPromptList(arrList,objInputId){
this.style = "background:#E8F7EB;border: 1px solid #CCCCCC;font-size:14px;cursor: default;"
if (arrList.constructor!=Array){alert('smanPromptList初始化失败:第一个参数非数组!');return ;}
window.onload =function() {
arrList.sort(function(a,b){
if(a.length>b.length)return 1;
else if(a.length==b.length)return a.localeCompare(b);
else return -1;
})
var objouter=document.getElementById("__smanDisp") //显示的DIV对象
var objInput = document.getElementById(objInputId); //文本框对象
var selectedIndex=-1;
var intTmp; //循环用的:)
if (objInput==null) {alert('smanPromptList初始化失败:没有找到"'+objInputId+'"文本框');return ;}
//文本框失去焦点
objInput.onblur=function(){
objouter.style.display='none';
}
//文本框按键抬起
objInput.onkeyup=checkKeyCode;
//文本框得到焦点
objInput.onfocus=checkAndShow;
function checkKeyCode(){
var ie = (document.all)? true:false
if (ie){
var keyCode=event.keyCode
if (keyCode==40||keyCode==38){ //下上
var isUp=false
if(keyCode==40) isUp=true ;
chageSelection(isUp)
}else if (keyCode==13){//回车
outSelection(selectedIndex);
}else{
checkAndShow()
}
}else{
checkAndShow()
}
divPosition()
}
function checkAndShow(){
var strInput = objInput.value
if (strInput!=""){
divPosition();
selectedIndex=-1;
objouter.innerHTML ="";
for (intTmp=0;intTmp<arrList.length;intTmp++){
if (arrList[intTmp].substr(0, strInput.length).toUpperCase()==strInput.toUpperCase()){
addOption(arrList[intTmp]);
}
}
objouter.style.display='';
}else{
objouter.style.display='none';
}
function addOption(value){
objouter.innerHTML +="<div onmouseover=\"this.className='sman_selectedStyle'\" onmouseout=\"this.className=''\" onmousedown=\"document.getElementById('"+objInputId+"').value='" + value + "'\">" + value + "</div>"
}
}
function chageSelection(isUp){
if (objouter.style.display=='none'){
objouter.style.display='';
}else{
if (isUp)
selectedIndex++
else
selectedIndex--
}
var maxIndex = objouter.children.length-1;
if (selectedIndex<0){selectedIndex=0}
if (selectedIndex>maxIndex) {selectedIndex=maxIndex}
for (intTmp=0;intTmp<=maxIndex;intTmp++){
if (intTmp==selectedIndex){
objouter.children[intTmp].className="sman_selectedStyle";
}else{
objouter.children[intTmp].className="";
}
}
}
function outSelection(Index){
objInput.value = objouter.children[Index].innerText;
objouter.style.display='none';
}
function divPosition(){
objouter.style.top =getAbsoluteHeight(objInput)+getAbsoluteTop(objInput);
objouter.style.left =getAbsoluteLeft(objInput);
objouter.style.width=getAbsoluteWidth(objInput)
}
}
document.write("<div id='__smanDisp' style='position:absolute;display:none;" + this.style + "' onbulr> </div>");
document.write("<style>.sman_selectedStyle{background-Color:#102681;color:#FFFFFF}</style>");
function getAbsoluteHeight(ob){
return ob.offsetHeight
}
function getAbsoluteWidth(ob){
return ob.offsetWidth
}
function getAbsoluteLeft(ob){
var mendingLeft = ob .offsetLeft;
while( ob != null && ob.offsetParent != null && ob.offsetParent.tagName != "BODY" ){
mendingLeft += ob .offsetParent.offsetLeft;
mendingOb = ob.offsetParent;
}
return mendingLeft ;
}
function getAbsoluteTop(ob){
var mendingTop = ob.offsetTop;
while( ob != null && ob.offsetParent != null && ob.offsetParent.tagName != "BODY" ){
mendingTop += ob .offsetParent.offsetTop;
ob = ob .offsetParent;
}
return mendingTop ;
}
}
smanPromptList(arrList,"inputer")
</script>
</HEAD>
<BODY>
<form action="" method="post">
<input type="text" id="inputer">
</form>
</BODY>
</HTML>
分享到:
相关推荐
**Ajax仿Google Suggest数据库版**是基于Ajax技术实现的一种搜索建议功能,它模拟了Google搜索引擎在用户输入关键字时实时显示搜索建议的效果。这个项目主要使用Java作为后端语言,结合Ajax技术,为前端用户提供流畅...
在本文中,我们将深入探讨如何使用AJAX技术来实现一个仿Google Suggest的搜索提示功能。Google Suggest是Google搜索引擎中的一个特色功能,它在用户输入关键词时提供实时的搜索建议,极大地提高了搜索效率和用户体验...
综上所述,"jsp+ajax实现googleSuggest(全)"项目涵盖了JSP、AJAX以及前端交互设计等多个技术点,通过它们的结合,可以实现类似Google搜索框的智能提示功能,提升用户体验。在实际开发中,还需要考虑性能优化、错误...
【标题】:Google Suggest 实现 AJAX 应用 在当今的Web开发中,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于创建交互性更强、用户体验更佳的网页应用。本主题主要聚焦于如何使用ASP.NET框架实现一个...
Google Suggest正是利用了Ajax的核心特性,实现了在用户输入搜索关键词时,实时向服务器发送请求,获取相关建议,并在页面上动态展示。 在Google Suggest中,用户在搜索框中输入字符时,触发`onkeyup`事件,这是一...
5. **异步通信**:了解异步编程的概念,以及如何通过Ajax实现非阻塞的请求/响应模式,对于优化网页性能至关重要。 6. **数据格式**:在前后端之间交换数据时,可能涉及JSON或XML等格式。了解这些格式的结构和转换...
Google Suggest 的前端主要采用了 Ajax 技术来实现动态加载搜索建议。Ajax(Asynchronous JavaScript and XML,异步 JavaScript 和 XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过这种...
本实例将探讨如何将这两者整合,通过AJAX技术实现一个仿Google Suggest的自动补全功能,该功能通常用于输入框中,为用户提供动态搜索建议。我们将详细解析这个实例中的各个组成部分。 首先,`index.jsp`是用户界面...
以上就是使用Ajax实现Google搜索提示的基本流程。需要注意的是,实际应用中可能需要考虑更多因素,如错误处理、性能优化、用户体验优化等。同时,对于实际的API接口,你可能需要根据具体的服务端实现进行调整。在...
【标题】"GoogleSuggest ajax自动补全"是基于AJAX和jQuery技术实现的一个功能,它主要用于提升用户体验,提供在用户输入时实时显示搜索建议的功能。这个功能在很多搜索引擎和网站中都有应用,比如Google搜索,它能...
本文将介绍如何使用AJAX技术来实现类似Google Suggest的功能,这是一种实时的、基于用户输入的搜索建议机制。Google Suggest通过在用户输入关键词时动态提供搜索建议,提高了用户体验,减少了不必要的键盘输入。以下...
**实现Google Suggest用例** 在`script.aculo.us`中实现`Google Suggest`功能,你需要以下几个关键步骤: 1. **引入库**:首先,在网页中引入`script.aculo.us`库和必要的CSS样式表。这通常通过在HTML头部添加链接...
使用ajax技术实现的google suggest,功能和google一样。参照google制作。下载后解压文件,将SuggestServlet 放在src的com.huage.ajax.servlet包下,将suggest.jsp放在WebRoot的根目录下,运行suggest.jsp即可。本...
在本文中,我们将深入探讨AJAX技术在JavaScript库jQuery中的应用,特别是通过一个实战案例——仿谷歌搜索建议(Google Suggest)的自动补全功能。这个功能广泛应用于各种搜索框,能够极大地提升用户体验,使用户在...
要实现Google Suggest风格的搜索,首先我们需要在用户输入时监听键盘事件,当用户输入达到一定长度或按下特定键(如回车或下拉键)时,触发Ajax请求。使用JavaScript的XMLHttpRequest对象或者现代浏览器支持的fetch ...
本示例将深入解析如何使用jQuery Ajax实现一个仿Google Suggest的自动补全功能,特别针对中文输入进行了优化,并且结合了Java后端技术如jsp和Servlet。 首先,让我们理解这个功能的核心概念。Google Suggest的自动...
**实现Google Suggest** 1. **JavaScript基础**:在客户端,主要使用JavaScript来监听用户的输入事件,当用户在搜索框中输入时,触发一个函数,这个函数将当前的输入值发送到服务器。 2. **XMLHttpRequest对象**:...
本教程将详细讲解如何实现一个仿GoogleSuggest的自动补全功能,旨在提供一个绝对实用的解决方案。 首先,理解GoogleSuggest的工作原理至关重要。它基于用户在搜索框中输入的字符,实时从服务器端获取并展示可能的...