模仿百度搜索

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>模仿百度搜索 </title>
</head>
<link rel="stylesheet" href="css/bootstrap.css" />
<style type="text/css">
#container {
position: absolute;
left: 50%;
top: 40%;
}

#content {
float: left;
position: relative;
right: 50%;
}

input {
border: 0;
width: 288px;
height: 30px;
font-size: 16px;
padding: 0 5px;
line-height: 30px;
}

.item {
padding: 3px 5px;
cursor: pointer;
}

.addbg {
background: #87A900;
}

.first {
border: solid #87A900 2px;
width: 300px;
}

#append {
border: solid #87A900 2px;
border-top: 0;
display: none;
}
</style>

<body>

<div id="container">
<div id="content">
<div class="first"><input id="kw" onKeyup="getContent(this);" /></div>
<div id="append"></div>
</div>
</div>

<script type="text/javascript " src="js/jquery-1.9.1.min.js " charset="UTF-8 "></script>
<!--<script type="text/javascript " src="js/bootstrap.js "></script>-->
<script>
var data = [
"你好,我是Michael",
"你是谁",
"你最好啦",
"你最珍贵",
"你是我最好的朋友",
"你画我猜",
"你是笨蛋",
"你懂得",
"你为我着迷",
"你是我的眼"
];
$(document).ready(function() {
$(document).keydown(function(e) { //键盘监听
e = e || window.event;
var keycode = e.which ? e.which : e.keyCode;
if (keycode == 38) { //向上键
if (jQuery.trim($("#append").html()) == "") {
return;
}
movePrev();
} else if (keycode == 40) { //向下键
if (jQuery.trim($("#append").html()) == "") {
return;
}
$("#kw").blur();
if ($(".item").hasClass("addbg")) {
moveNext();
} else {
$(".item").removeClass(‘addbg‘).eq(0).addClass(‘addbg‘);
}

} else if (keycode == 13) { //enter键
dojob();
}
});

var movePrev = function() { //当敲击向上键将焦点移动到某条数据上时,高亮显示该数据
$("#kw").blur();
var index = $(".addbg").prevAll().length;
if (index == 0) {
$(".item").removeClass(‘addbg‘).eq($(".item").length - 1).addClass(‘addbg‘);
} else {
$(".item").removeClass(‘addbg‘).eq(index - 1).addClass(‘addbg‘);
}
}

var moveNext = function() { //当敲击向下键将焦点移动到某条数据上时,高亮显示该数据
var index = $(".addbg").prevAll().length;
if (index == $(".item").length - 1) {
$(".item").removeClass(‘addbg‘).eq(0).addClass(‘addbg‘);
} else {
$(".item").removeClass(‘addbg‘).eq(index + 1).addClass(‘addbg‘);
}

}

var dojob = function() { //当敲击enter键时,将选中的数据填充到输入框中,并将显示数据的展开层隐藏掉
$("#kw").blur();
var value = $(".addbg").text();
$("#kw").val(value);
$("#append").hide().html("");
}
});

function getContent(obj) { //触发搜索
var kw = jQuery.trim($(obj).val()); //得到输入框的值
if (kw == "") { //输入框没有输入任何值
$("#append").hide().html("");
return false;
}
var html = "";
for (var i = 0; i < data.length; i++) { //输入框有值,data 应该是后台抛出的json数据
if (data[i].indexOf(kw) >= 0) { //在后台得到的数据集合中匹配包含输入框输入的值的数据,并加载到一个扩展层中
html = html + "<div class=‘item‘ onmouseenter=‘getFocus(this)‘ onClick=‘getCon(this);‘>" + data[i] + "</div>"
}
}
//判断是否匹配到了数据
if (html != "") {
$("#append").show().html(html);
} else {
$("#append").hide().html("");
}
}

function getFocus(obj) { //在扩展层中,当鼠标移动到某个数据上时,高亮显示此数据,并移除其余数据的高亮
$(".item").removeClass("addbg");
$(obj).addClass("addbg");
}

function getCon(obj) { //选中扩展层中的某个数据,将其填充到输入框中
var value = $(obj).text();
$("#kw").val(value);
$("#append").hide().html("");
}
</script>
</body>

</html>

时间: 2024-10-08 02:30:07

模仿百度搜索的相关文章

模拟百度搜索代码

模拟百度搜索“2012世界末日”网页地震撕裂效果,本效果是模仿用户在百度输入“2012世界末日”后点击搜索后出来的网页效果,网页在震动,像是地震了,而后开始撕裂,然后显示出相关的文字说明,很酷的效果,希望大家可以学习借鉴. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

模仿百度文库

---恢复内容开始--- 方案: Txt/Word/Excel/PPT=>PDF(OpenOffice+JodConverter)=>SWF(pdf2swf)=>FlexPaper浏览 第一步: Txt/Word/Excel/PPT=>PDF(OpenOffice+JodConverter) 准备: 1.下载:Apache_OpenOffice_incubating_3.4.1_Win_x86_install_zh-CN.exe 下载地址:http://www.openoffice

模拟百度搜索“2012世界末日”网页地震撕裂效果

模拟百度搜索“2012世界末日”网页地震撕裂效果,本效果是模仿用户在百度输入“2012世界末日”后点击搜索后出来的网页效果,网页在震动,像是地震了,而后开始撕裂,然后显示出相关的文字说明,很酷的效果,希望大家可以学习借鉴. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

利用python爬取海量疾病名称百度搜索词条目数的爬虫实现

实验原因: 目前有一个医疗百科检索项目,该项目中对关键词进行检索后,返回的结果很多,可惜结果的排序很不好,影响用户体验.简单来说,搜索出来的所有符合疾病中,有可能是最不常见的疾病是排在第一个的,而最有可能的疾病可能需要翻很多页才能找到. 实验目的: 为了优化对搜索结果的排序,想到了利用百度搜索后有显示搜索到多少词条,利用这个词条数,可以有效的对疾病排名进行一个优化.从一方面看,某一个疾病在百度的搜索词条数目越多,表示这个词条的信息特别丰富,侧面反映了搜索这个词条的人特别多,从而可以推出这个疾病在

一个模仿-百度一下,你就知道-的代码

<div id="mybody"> <div id="navigation_bar" v-if="logoShow"> //两个span之间如果换行的话就会产生空格,这样写的话就没有空格,也显得比较专业 <span>新闻</span><span>hao123</span><span>地图</span><span>视频</span>

百度搜索下拉框提示代码 opensug.js

opensug ·简单方式--方便的将"百度搜索框(带提示功能)"直接加入到您的网页中. 将以下代码加入到您的网页中,即可获得带有"搜索框提示"功能的百度搜索框. HTML代码: <form action="http://www.baidu.com/baidu" target="_blank"> <table bgcolor="#FFFFFF"><tr><td>

jsonp跨越请求百度搜索api,实现下拉列表提示

题目来源: 最近在做百度IFE前端技术学院的题,然后有一题就是模拟百度搜索智能提示.题目是开源的,稍后给出地址. 因为博主没学过后端啊,欲哭无泪,所以不能实现后端模糊搜索,那如果前端ajax纯粹请求一份同样的数据,效果就不好. 机智的博主直接把百度搜索api借来一下. 直接从开发者工具,监控网络,找到请求地址. 百度api: 我把api缩减了一下,删除了大部分暂时用不上的参数. https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=abc

模拟百度搜索框,输入时显示历史记录

今天写了个小demo,利用本地存储的特点,模拟百度搜索框. 主要知识是利用本地存储的特点,模拟百度搜索时的历史记录显示. 主要HTML代码为 <div class="search"> <input type="text"/> <button class="btn">搜索</button> </div> <ul class="hidden"> <li&

百度搜索小脚本

最近在提高自己编程能力,拿一些现实的小脚本练下.该脚本为python语言,主要涉及模块urllib,和正则表达式. 功能:输入要查询的关键字,和查询条数,会返回关键字的百度搜索结果的url和条数,一次最多查50条. import urllib.request import urllib.parse import re while True: x = input("请输入需要搜索的关键字(输入"q!"退出程序):") if x == 'q!': print('bye!