<html>
<head>
<base href="<%=basePath%>">
<title>js/jQuery实现类似百度搜索功能</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<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>
</head>
<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">
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) {
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() {
$("#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++) {
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>