JavaScript 制作百度输入预测功能
原创
©著作权归作者所有:来自51CTO博客作者流楚丶格念的原创作品,请联系作者获取转载授权,否则将追究法律责任
示例


代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<style>
#box {
width: 450px;
margin: 200px auto;
}
#txt {
width: 350px;
}
#pop {
width: 350px;
border: 1px solid red;
}
#pop ul {
margin: 10px;
padding: 0px;
width: 200px;
list-style-type: none;
}
#pop ul li {
}
</style>
</head>
<body>
<div id="box">
<input type="text" id="txt" value="">
<input type="button" value="百度一下" id="btn">
</div>
<script src="common.js"></script>
<script>
var keyWords = ["小杨最纯洁", "小杨一点也不追名逐利", "小李是大家的", "小快好快", "华为这一波很6", "花儿笑了", "苹果禁用微信,用户纷纷下载QQ"];
my$("txt").onkeyup = function () {
if (my$("dv")) {
my$("box").removeChild(my$("dv"));
}
var text = this.value;
var tempArr = [];
for (var i = 0; i < keyWords.length; i++) {
if (keyWords[i].indexOf(text) == 0) {
tempArr.push(keyWords[i]);
}
}
if (this.value.length == 0 || tempArr.length == 0) {
if (my$("dv")) {
my$("box").removeChild(my$("dv"));
}
return;
}
var dvObj = document.createElement("div");
my$("box").appendChild(dvObj);
dvObj.id = "dv";
dvObj.style.width = "350px";
dvObj.style.border = "1px solid green";
for (var i = 0; i < tempArr.length; i++) {
var pObj = document.createElement("p");
dvObj.appendChild(pObj);
setInnerText(pObj, tempArr[i]);
pObj.style.margin = 0;
pObj.style.padding = 0;
pObj.style.cursor = "pointer";
pObj.style.marginTop = "5px";
pObj.style.marginLeft = "5px";
pObj.onmouseover = function () {
this.style.backgroundColor = "yellow";
}
pObj.onmouseout = function () {
this.style.backgroundColor = "";
};
}
}
</script>
</body>
</html>