`
jssay
  • 浏览: 27616 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

仿Google的Suggest效果

阅读更多

Refer to www.jssay.com

用过Google的同志都知道,在Google搜索栏里只要输入前几个字符,Google就会自动弹出一个下拉列表,显示相关记录以及记录数。这对正在搜索的人是很有帮助的,当然这些相关记录并不是随机生成的,而是根据在Google中搜索的关键字生成的。

前几天我在项目中遇到这样的问题,需要提供一个search bar去搜索某文件夹下包含关键字的所有文件。于是Google搜索了一下,发现网上有很多类似功能的代码,有AJAX,JQuery,ASP, PHP等6、7个版本。综合比较了一下,还是选择了一个用JS实现的库。

实现很简单:
第一步,为下拉列表设定样式,如下:


/*下拉列表区域的样式*/
#suggest {
position: absolute;
background-color: #FFFFFF;
border: 1px solid #CCCCFF;
font-size: 90%;
width: 200px;
}
/*下拉列表区域内div的样式*/
#suggest div {
display: block;
width: 200px;
overflow: hidden;
white-space: nowrap;
}

/*方向键的上下移动会引起选项的样式变化*/
#suggest div.select{ /* keydown, keyup */
color: #FFFFFF;
background-color: #3366FF;
}

/*鼠标移动到列表选项时的样式*/
#suggest div.over{ /* mouse over */
background-color: #99CCFF;
}


第二步,创建页面UI,重要的是要加上一个div块,这是用来显示下拉列表的地方。id可以随便取,重要的是保持一致.


<input id="text" type="text" name="pattern" value="" autocomplete="off" size="10" style="display: block">

<div id="suggest"></div>


第三步,导入suggest.js包。


<script type="text/javascript" src="./js/suggest.js"></script>


第四步,写一个onload方法,在页面加载的时候导入数据。


function startSuggest() {
new Suggest.Local(
"text", // input element id.
"suggest", // suggestion area id.
list, // suggest candidates list
{dispMax: 10, interval: 1000}); // options
}

window.addEventListener ?
window.addEventListener('load', startSuggest, false) :
window.attachEvent('onload', startSuggest);
function startSuggest() {
new Suggest.Local(
"text", // input element id.
"suggest", // suggestion area id.
list, // suggest candidates list
{dispMax: 10, interval: 1000}); // options
}
/*参数说明:
第一个参数:文本域标签的id
第二个参数:下拉列表区域的id
第三个参数:下拉列表的选项列表
第四个参数:可选项,具体如下。

interval : 两次搜索的时间间隔,默认为500毫秒。
dispMax : 可显示的最大选项数。
listTagName : 为了产生一个标签名字列表(默认为div) 。
prefix :向前匹配为true,部分匹配为false,默认为false。
ignoreCase : 搜索时区分大小写,默认值为true。
highlight : 匹配字符要高亮显示,默认值为true。
dispAllKey : 按CTRL + Down (Opera, CTRL + ALT + Down), 将匹配的所有候选名单都显示出来。
classMouseOver : 鼠标滑过时的样式,默认为"over"。
classSelect : 选中时的样式,默认为"select"。
hookBeforeSearch : 在search之前开始一个函数的执行过程。
delim : 多个关键字搜索时的分割符 (默认为空格) 。
*/

window.addEventListener ?
window.addEventListener('load', startSuggest, false) :
window.attachEvent('onload', startSuggest);
5
0
分享到:
评论
2 楼 jssay 2009-10-22  
jbas 写道
如果是动态去取数据,该如何去做呢?

只要想办法将数据Push到List中就可以了,在JSP中我们可以在Javascript中嵌入java代码,如下:
 var list = new Array();
<%
        Iterator keyIter = keys.iterator();
        while(keyIter.hasNext()){
%>
        list.push("<%=(String)keyIter.next()%>");
<%
        }
%>

      
1 楼 jbas 2009-10-22  
如果是动态去取数据,该如何去做呢?

相关推荐

    js实现仿Google Suggest搜索提示效果

    好东西能用,我经常用!大家共享!

    仿Google Suggest提示效果

    【标题】"仿Google Suggest提示效果"是一个关于在网页中实现类似Google搜索框自动提示功能的技术分享。这种功能在现代网页应用中非常常见,它能够提升用户体验,帮助用户更快地找到他们想要输入的关键词。 【描述】...

    ajax仿google suggest 数据库版

    **Ajax仿Google Suggest数据库版**是基于Ajax技术实现的一种搜索建议功能,它模拟了Google搜索引擎在用户输入关键字时实时显示搜索建议的效果。这个项目主要使用Java作为后端语言,结合Ajax技术,为前端用户提供流畅...

    搜索提示仿google suggest提示效果

    AJAX实现类Google Suggest效果 *测试平台:Firefox2.0,IE6.0,IE7.0 *演示地址:http://www.okajax.com/demo/suggest/ *:文件结构: index.htm:首页,展现效果 ajax_result.asp:ajax调用后台返回结果文件 result.asp:...

    AJAX实现仿Google Suggest搜索提示效果

    在本文中,我们将深入探讨如何使用AJAX技术来实现一个仿Google Suggest的搜索提示功能。Google Suggest是Google搜索引擎中的一个特色功能,它在用户输入关键词时提供实时的搜索建议,极大地提高了搜索效率和用户体验...

    AJAX实现仿Google Suggest效果

    本文将介绍如何使用AJAX技术来实现类似Google Suggest的功能,这是一种实时的、基于用户输入的搜索建议机制。Google Suggest通过在用户输入关键词时动态提供搜索建议,提高了用户体验,减少了不必要的键盘输入。以下...

    AJAX学习总结(九)---Jquery实例:仿googlesuggest自动补全功能

    在本文中,我们将深入探讨AJAX技术在JavaScript库jQuery中的应用,特别是通过一个实战案例——仿谷歌搜索建议(Google Suggest)的自动补全功能。这个功能广泛应用于各种搜索框,能够极大地提升用户体验,使用户在...

    Flex实现仿Googlesuggest

    通过以上步骤,我们可以成功地使用Flex 3.0实现一个仿Google Suggest的自动完成功能。这个过程涵盖了Flex的组件开发、数据绑定、异步通信、事件处理等多个核心概念,对于提升Flex开发技能大有裨益。在实际项目中,还...

    仿googlesuggest.rar

    描述 "基于ASP的仿google猜想搜索" 表明开发者使用了ASP技术来实现类似于Google的搜索预测功能。在ASP中,开发者通常会结合HTML、CSS和JavaScript等前端技术,以及VBScript或JScript等后端脚本语言,来处理用户请求...

    jquery实例5:仿Google Suggest自动补齐

    **jQuery 实例5:仿 Google Suggest 自动补全** 在网页开发中,提供自动补全功能能够极大地提升用户体验,尤其是在搜索或者输入框输入时。Google 的搜索建议就是这一功能的经典应用,它能够根据用户输入的关键词...

    仿google suggest

    【标题】:“仿google suggest”通常指的是模仿谷歌自动补全功能的技术实现,它是一种智能搜索建议技术,旨在提高用户在搜索引擎中的输入效率和搜索体验。谷歌的自动补全功能可以根据用户在搜索框中输入的部分关键词...

    仿googlesuggest

    【标题】"仿googlesuggest" 是一个网页应用程序,它旨在模仿谷歌搜索引擎中著名的自动补全功能,也称为Google Suggest。这个功能在用户输入搜索关键词时,会实时提供相关的搜索建议,帮助用户快速找到他们可能感兴趣...

    jQuery学习记录----仿GoogleSuggest自动提示(八)

    在本篇博客“jQuery学习记录----仿GoogleSuggest自动提示(八)”中,作者分享了如何使用jQuery实现一个类似于Google搜索框中的自动提示功能。这个功能是许多网站上常见的用户体验提升工具,它允许用户在输入关键词...

    jquery+.net动态仿google效果

    Suggest Framework 故名思意,就是仿 Google Suggest 的一个小框架,让你的文本框也有提示功能。利用suggest framework你可以在自己的网站上很轻松实现“输入提示”效果,这种效果会很大程度上提高用户体验,提高...

    SuggestFramework-0.31

    Suggest Framework 故名思意,就是仿 Google Suggest 的一个小框架,让你的文本框也有提示功能。利用suggest framework你可以在自己的网站上很轻松实现“输入提示”效果,这种效果会很大程度上提高用户体验,提高...

    仿google提示框 下拉提示框

    "仿Google提示框"和"下拉提示框"就是一种常见的UI设计元素,广泛应用于搜索引擎、输入法和其他需要提供智能建议的应用场景。这些提示框的设计灵感通常来源于Google的搜索框,它能在用户输入时提供即时的下拉建议,...

    仿google下拉框自动提示(匹配)ajax无错读取数据库

    6. **CSS(Cascading Style Sheets)**:`suggest.css`是样式表文件,用于定义页面元素的外观和布局,包括下拉框的样式、提示信息的展示效果等。 7. **图像资源(Graphics)**: `suggest.gif`可能是与提示框相关的...

    输入框信息提示的实现(仿google、百度搜索框)(转载)

    ### 输入框信息提示的实现(仿google、百度搜索框) #### 概述 本文将详细介绍如何实现一个类似于Google和百度搜索框的输入框信息提示功能。该功能可以在用户输入文字时,从数据库中获取相关建议并实时展示,极大...

    仿百度、google的智能提示

    标题"仿百度、google的智能提示"指的是实现类似百度或Google搜索引擎在用户输入时自动提供搜索建议的功能。这种功能通常被称为自动补全或智能提示,能够提高用户搜索效率,减少输入错误。 描述中提到,这个功能是...

Global site tag (gtag.js) - Google Analytics