本文实例讲述了jQuery实现的仿百度,仿谷歌搜索下拉框效果。分享给大家供大家参考,具体如下:

运行效果图如下:
完整实例代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>仿百度搜索下拉框,放搜索下拉框,仿谷歌搜索下拉框</title>
<META content="仿谷歌百度搜索下来内容显示,可以通过ajax下拉也可以调用数据库数据,目前只是按照js调用了点内容,参考下面代码进行自行修改" name="Description">
<META content="谷歌,百度,下拉框,仿搜索下拉,下拉框搜索,搜索下拉内容" name="keywords">
<style type="text/css">
body{
font-size:14px;}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<script src="jquery-1.7.2.min.js"></script>
<script language="javascript">
<!--
///开始定义全局内容
var fouce_li_num = -1;///默认没有选择任何下拉内容
var width_ = 300;//这里设置的是搜索框的宽度,目的为了与下面的列表宽度相同
var li_color = "#fff";//默认的下拉背景颜色
var li_color_ = "#CCC";//当下拉选项获取焦点后背景颜色
$(function(){
$("input[name=key]").keyup(function(event){
var keycode = event.keyCode;
if(delkeycode(keycode))return;
var key_ = $(this).val();//获取搜索值
var top_ = $(this).offset().top;//获搜索框的顶部位移
var left_ = $(this).offset().left;//获取搜索框的左边位移
if(keycode==13){//enter search
if(fouce_li_num>=0){
$(this).val($.trim($("#foraspcn >li:eq("+fouce_li_num+")").text()));
fouce_li_num=-1;
}else{
/////当没有选中下拉表内容时 则提交form 这里可以自定义提交你的搜索
}
$("#foraspcn").hide();
}else if(keycode==40){//单击键盘向下按键
fouce_li_num++;
var li_allnum = $("#foraspcn >li").css("background-color",li_color).size();
if(fouce_li_num>=li_allnum&&li_allnum!=0){//当下拉选择不为空时
fouce_li_num=0;
}else if(li_allnum==0){fouce_li_num--;return;}
$("#foraspcn >li:eq("+fouce_li_num+")").css("background-color",li_color_);
}else if(keycode==38){//点击键盘向上按键
fouce_li_num--;
var li_allnum = $("#foraspcn >li").css("background-color",li_color).size();
if(fouce_li_num<0&&li_allnum!=0){//当下拉选择不为空时
fouce_li_num=li_allnum-1;
}else if(li_allnum==0){fouce_li_num++;return;}
$("#foraspcn >li:eq("+fouce_li_num+")").css("background-color",li_color_);
}else{//进行数据查询,显示查询结果
fouce_li_num=-1;
$("#foraspcn").empty();
///ajax调用 这里使用的是 测试内容
ajax_demo();
//ajax_getdata(key_);//如果使用ajax去前面的demo和//
//赋值完毕后进行显示
$("#foraspcn").show().css({"top":top_+22,"left":left_});
}
});
//当焦点从搜索框内离开则,隐藏层
$("body").click(function(){ $("#foraspcn").hide(); });
///创建隐藏的div,用来显示搜索下的内容
$("body").append("<div id='foraspcn'></div>");
$("#foraspcn").css({"width":""+width_+"px","position":"absolute","z-index":"999","list-style":"none","border":"solid #E4E4E4 1px","display":"none"});//这里设置列下拉层的样式,默认为隐藏的
});
//定义非开始运行函数
function delkeycode(keycode){//去除了不必要的按键反应,当比如删除,f1 f2等按键时,则返回
var array = new Array();
array =[8,16,19,20,27,33,34,35,36,45,46,91,112,113,114,115,116,117,118,119,120,121,122,123,145,192];
for(i=0;i<array.length;i++){
if(keycode==array[i]){return true;break;}
}
return false;
}
//这是一个测试案例
function ajax_demo(){
var data_array = ["网站制作学习网","网站制作","www."];
for(i=0;i<data_array.length;i++){//这里进行数据附加 返回数据格式为 关键词数组
$("#foraspcn").append("<li style='width:"+width_+"px;'>"+data_array[i]+"</li>");
}
$("#foraspcn >li").mouseover(function(){$(this).css("background-color",li_color_);});
$("#foraspcn >li").mouseout(function(){$(this).css("background-color",li_color);});
$("#foraspcn >li").click(function(){$("input[name=key]").val($.trim($(this).text()));$(this).parent().hide();});
}
////////////////这里是正式的ajax调用
function ajax_getdata(key){
$.post(
"ajax_tag_search.php",
{"key":key},//ajax 的post不能提交中文提交,在动作页面进行获取后需要解码,注意字符格式,然后搜索后返回
function(data){//返回格式是json数据,至少是个数组也可自定义,然后再这里进行操作
data_array = eval("("+data+")");
for(i=0;i<data_array.length;i++)//这里进行数据附加 返回数据格式为 关键词数组
$("#foraspcn").append("<li style='width:"+width_+"px;'>"+data_array[i]+"</li>");
$("#foraspcn >li").mouseover(function(){$(this).css("background-color",li_color_);});
$("#foraspcn >li").mouseout(function(){$(this).css("background-color",li_color);});
$("#foraspcn >li").click(function(){$("input[name=key]").val($.trim($(this).text()));$(this).parent().hide();});
}
);
}
-->
</script>
<body>
仿百度百度搜索下拉<input type="text" name="key" size="40" maxlength="40">
</body>
</html>
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery表格(table)操作技巧汇总》、《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
# jQuery
# 仿百度
# 仿谷歌
# 搜索
# 下拉框
# jQuery实现搜索页面关键字的功能
# Jquery Easyui搜索框组件SearchBox使用详解(19)
# jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
# 基于jQuery实现页面搜索功能
# Jquery插件仿百度搜索关键字自动匹配功能
# jquery zTree异步加载、模糊搜索简单实例分享
# 基于jquery实现的类似百度搜索的输入框自动完成功能
# 基于jquery的仿百度搜索框效果代码
# 利用jQuery实现可输入搜索文字的下拉框
# jquery实现静态搜索功能(可输入搜索文字)
# 关键词
# 的是
# 百度搜索
# 自定义
# 网站制作
# 为空
# 格式为
# 是个
# 相关内容
# 也可
# 感兴趣
# 这是一个
# 可以通过
# 给大家
# 然后再
# 更多关于
# 所述
# 查询结果
# 程序设计
相关文章:
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何快速启动建站代理加盟业务?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
如何在万网自助建站平台快速创建网站?
如何在IIS管理器中快速创建并配置网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
高防服务器租用首荐平台,企业级优惠套餐快速部署
c# 服务器GC和工作站GC的区别和设置
如何快速上传自定义模板至建站之星?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
如何零基础开发自助建站系统?完整教程解析
如何快速搭建个人网站并优化SEO?
Android滚轮选择时间控件使用详解
香港服务器选型指南:免备案配置与高效建站方案解析
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
如何通过VPS搭建网站快速盈利?
c++怎么用jemalloc c++替换默认内存分配器【性能】
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
太原网站制作公司有哪些,网约车营运证查询官网?
怎么将XML数据可视化 D3.js加载XML
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
如何通过多用户协作模板快速搭建高效企业网站?
如何高效配置香港服务器实现快速建站?
平台云上自助建站如何快速打造专业网站?
如何有效防御Web建站篡改攻击?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
大连网站设计制作招聘信息,大连投诉网站有哪些?
Python多线程使用规范_线程安全解析【教程】
IOS倒计时设置UIButton标题title的抖动问题
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
青岛网站建设如何选择本地服务器?
深圳网站制作案例,网页的相关名词有哪些?
建站之星免费模板:自助建站系统与智能响应式一键生成
如何快速辨别茅台真假?关键步骤解析
建站主机是否属于云主机类型?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
建站之星如何开启自定义404页面避免用户流失?
建站之星导航如何优化提升用户体验?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何选购建站域名与空间?自助平台全解析
详解jQuery中基本的动画方法
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站之星云端配置指南:模板选择与SEO优化一键生成
如何用y主机助手快速搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。